【Swift】TableViewのスワイプで画面を更新する(Pull to Refresh)
目次
Pull to Refreshとはなにか
画面を下に引っ張ると、画面の要素(主にリストビュー)が更新せれる仕組みのことを言います。
よりiOS的なPull to Refreshとはなにか
UIRefreshControl
を、UIScrollView
を実装しているクラスに追加することでPull to Refreshの機能を追加することができます。
デフォルトのUIScrollViewオブジェクト一覧
アプリケーションのウィンドウサイズよりもコンテンツが大きい場合のサポートを提供するクラス
- UITableView
- UITextView
など
UIRefreshControlとはなにか
UIScrollViewオブジェクトにアタッチできる標準的なコントロールです。
実装方法
1. UIScrollViewクラスにUIRefreshControlクラスを生成して、イベントを紐付ける
ViewController
のviewDidLoad
メソッド内でrefreshControl
の設定を行います
1 |
|
- refreshControl :
UIScrollViewクラス
にある変数でUIRefreshControlクラスのインスタンス
を設定する - addTarget :
UIRefreshControlクラスの実装している->UIControlクラス
にあるメソッドで指定したイベントのアクションを設定する1
open func addTarget(_ target: Any?, action: Selector, for controlEvents: UIControl.Event)
特定のイベントに対するターゲット/アクションを追加する。これは複数回呼び出すことができ、特定のイベントに対して複数のターゲット/アクションを指定することができます。
ターゲットに nil を渡すと、レスポンダーチェーンをさかのぼります。アクションには、オプションで送信者とイベントの順に含めることができます。
アクションに NULL を指定することはできません。ターゲットは保持されないことに注意してください。
2. 呼び出される関数を記述する
addTarget
に設定した呼び出される関数を作成し、そこに処理を記述します
処理の最後に、endRefreshing
を呼ぶ必要があります。
1 |
|
【Swift】TableViewのスワイプで画面を更新する(Pull to Refresh)
https://blog.djima.net/2021/06/27/【Swift】TableViewのスワイプで画面を更新する-Pull-to-Refresh/