2017-02-25 5 views
2

最後のセルが表示されているときに、私がUITableViewの下部にActivityIndi​​catorを追加したいときにデータを取得しています。読み込み中にUITableViewの下部にActivityIndi​​catorを追加します。

これで、最後の行が表示されます。>スピナーが回転し始めます。データがフェッチされます。>データがフェッチされ、スピナーが非表示になります。>新しいデータがテーブルビューに追加されます。

どのように私はこれを達成するためのヒント?

感謝;)

答えて

16

をするときに、データロード非表示にする

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { 
    let lastSectionIndex = tableView.numberOfSections - 1 
    let lastRowIndex = tableView.numberOfRows(inSection: lastSectionIndex) - 1 
    if indexPath.section == lastSectionIndex && indexPath.row == lastRowIndex { 
     // print("this is the last cell") 
     let spinner = UIActivityIndicatorView(activityIndicatorStyle: .gray) 
     spinner.startAnimating() 
     spinner.frame = CGRect(x: CGFloat(0), y: CGFloat(0), width: tableView.bounds.width, height: CGFloat(44)) 

     self.tableview.tableFooterView = spinner 
     self.tableview.tableFooterView?.isHidden = false 
    } 
} 

とtableFooterView、この機能を追加します。

+1

画面サイズが異なるため、固定サイズの値を絶対に使用しないでください。 – lukwuerz

+0

tableView_categoryとは何ですか? – lukwuerz

+0

tableview_categoryは、行を含むデフォルトのtableViewです。私はそれを持って、この例は魅力のように働いた –

2

一つの方法は、その中にUIActivityIndi​​catorViewでカスタムセルを追加することです。それを別のセクションに置くことができます。それを行うには多くの方法があります。

それともこれをチェックアウト:https://github.com/evnaz/ENFooterActivityIndicatorView

+0

私はそれを見ていきます –

+1

私はサードパーティ製のライブラリを使用するのは好きではなく、Obj-C –

+1

で書かれています。あなたはそれを使う必要はありません。あなたはそれがどのように動作するかを知るためにそれをチェックアウトし、必要な場合には迅速に書き込むことができます。 – lukwuerz

関連する問題