Swift 判斷UITableView是否已經滾動到最底部
阿新 • • 發佈:2019-01-09
// 當前是否在最底部
var currentInsInBottom = false
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let height = scrollView.size.height
let contentOffsetY = scrollView.contentOffset.y
let bottomOffset = scrollView.contentSize.height - contentOffsetY
if bottomOffset <= height {
// 在最底部
self.currentInsInBottom = true
} else {
self.currentInsInBottom = false
}
}
只有當資料不為0並且已經在最底部的時候才可以插入訊息
// MARK: 滾到底部
func scrollToBottom(animated: Bool = false) {
self.view.layoutIfNeeded()
if dataArr.count > 0 && self.currentInsInBottom {
tableView.scrollToRow (at: IndexPath(row: dataArr.count - 1, section: 0), at: .bottom, animated: animated)
}
}