【Swift初心者】TableViewで無限スクロール
TableViewを無限スクロールしたかった。
本当はライブラリないか探していたんだけど、有名どころはない感じかな?
実装方法がそんなに難しくなさそうなので、自分で実装してみた。
実装は下記のサイトたちを参考にしてscrollViewDidScrollでやった。
実装してみると初期表示時にも呼ばれてるっぽかった・・・ なので、下記のサイトのようにtableView.draggingで判定した。
でも、これだと一度に複数回APIが呼ばれていたので、読み込み中フラグ持たせて読み込み中に二重でAPIが呼ばれないようにしてみた。
func scrollViewDidScroll(scrollView: UIScrollView) { if (nowLoading) { return } if (tableView.dragging) { let currentOffset = scrollView.contentOffset.y let maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height if (maximumOffset - currentOffset) <= 40 { let next_page = (items.count / pageSize) + 1 loadList(next_page) } } }