Swift – 如何實現無限滾動 UITableView 🌀

在 iOS 開發中,UITableView 是一個非常常見的 UI 元件,它可以讓開發者快速地建立一個列表,但是有時候我們會需要實現無限滾動的 UITableView,也就是當使用者滾動到最底部時,會自動載入更多的資料,這樣的功能在一些新聞 App 中很常見,那麼如何在 Swift 中實現無限滾動的 UITableView 呢?

實現步驟

  1. UITableViewdelegate 中實現 scrollViewDidScroll 方法,並在裡面檢查 contentOffset 是否到達最底部:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let offsetY = scrollView.contentOffset.y
    let contentHeight = scrollView.contentSize.height
    if offsetY > contentHeight - scrollView.frame.height {
        // 已經滾動到最底部
    }
}
  1. 在檢查到最底部時,請求更多的資料:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let offsetY = scrollView.contentOffset.y
    let contentHeight = scrollView.contentSize.height
    if offsetY > contentHeight - scrollView.frame.height {
        // 已經滾動到最底部
        // 請求更多的資料
    }
}
  1. 將新請求的資料加入到 UITableViewdataSource 中:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let offsetY = scrollView.contentOffset.y
    let contentHeight = scrollView.contentSize.height
    if offsetY > contentHeight - scrollView.frame.height {
        // 已經滾動到最底部
        // 請求更多的資料
        // 將新請求的資料加入到 UITableView 的 dataSource 中
        tableView.dataSource.append(newData)
    }
}
  1. 將新資料重新顯示在 UITableView 上:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let offsetY = scrollView.contentOffset.y
    let contentHeight = scrollView.contentSize.height
    if offsetY > contentHeight - scrollView.frame.height {
        // 已經滾動到最底部
        // 請求更多的資料
        // 將新請求的資料加入到 UITableView 的 dataSource 中
        tableView.dataSource.append(newData)
        // 將新資料重新顯示在 UITableView 上
        tableView.reloadData()
    }
}

總結

透過以上的步驟,我們就可以在 Swift 中實現無限滾動的 UITableView 了,如果你想要更詳細的程式碼,可以參考我們的 Github 範例

推薦閱讀文章

UITableView 無限滾動教學
UITableView 無限滾動實作
Swift 如何實現無限滾動 UITableView
如何將無限滾動新增至 UITableView
無限滾動 UITableView iOS 教學</a

延伸閱讀本站文章

更多swift相關文章

Swift – 如何實現無限滾動 UITableView 🌀

Categorized in:

Tagged in:

,