【Swift】ライブラリ「PullToRefresher」を使って画面を下に引っ張ってリロードする処理を実装する

昨日に引き続き、iOS アプリで導入したライブラリのご紹介です。
今回は、PullToRefresh 機能を実装する際に使用していたライブラリが古かったので、別のものに入れ替えました。
以前は「PullToRefreshSwift」というライブラリを使っていましたが、こちらで使用されている Swift のバージョンが古いため、ビルドエラーが発生していたので、「PullToRefresher」というライブラリに変更しました。
なお、実装できる機能はほぼ一緒です。

GitHub のページはこちらから。

GitHub – Yalantis/PullToRefresh: This component implements pure pull-to-refresh logic and you can use it for developing your own pull-to-refresh animations
https://github.com/Yalantis/PullToRefresh

 

まず、CocoaPods を使ってライブラリをインストールします。
Podfile に下記の1行を追加してください。

pod 'PullToRefresher'

上記を追加したら、iTerm などのコマンドラインツールで、pod install を実行してください。
問題がなければこれでインストールは完了です。

あとは、プロジェクトを Xcode で開き、任意の場所に処理を追加します。
まず、ライブラリをインポートします。

import PullToRefresh

次に、メンバ変数として下記の変数を定義します。

let refresher = PullToRefresh()

そして、下記のコードを追加し、UITableView に対して PullToRefresh の機能を実装します。

self.tableView.addPullToRefresh(refresher, action: {
    self.reload()  // 自前で実装した reload 処理
    self.tableView.endRefreshing(at: .top)
})

なお、PullToRefresh を実装するときは、こちらの記述をお忘れなく!

deinit {
    self.tableView.removeAllPullToRefresh()
}

追加する記述は以上です。
上記を追加後、実際に実機で動作確認をしたところ、問題なく動作しました!
シンプルで、実装も簡単だったのでおすすめです。

 

以上、iOS アプリに PullToRefresh 機能を実装できるライブラリ「PullToRefresher」のご紹介でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG