Twitterなど色んなアプリでおなじみ、Pull to Refresh機能の実装。
UITableViewController
の中で、UIRefreshControl
を設定する。また、更新時の処理をaddTarget:action:forControlEvents:
を利用してセット。
items_controller.rb
class ItemsController < UITableViewController
def viewDidLoad
super
# 略
# refreshControlに、UIRefreshControlのインスタンスを設定
self.refreshControl = UIRefreshControl.new.tap do |refresh|
# 更新用のアクションを指定
refresh.addTarget(self, action: 'refresh_items', forControlEvents: UIControlEventValueChanged)
end
# 略
end
def refresh_items
# 更新開始の宣言
self.refreshControl.beginRefreshing
# (テーブル更新用の処理を記述)
# 更新終了の宣言
self.refreshControl.endRefreshing
end
end
上記のように簡単に実装できる。めんどうなのは、更新処理の中身の方ですかねー。