1. 程式人生 > >Swift 判斷UITableView是否已經滾動到最底部

Swift 判斷UITableView是否已經滾動到最底部

// 當前是否在最底部
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) } }