プログラミングと音楽とアニメとiPhoneとiPadとMacとAndroidとLogicとギターとテニスと車

アプリ開発系の勉強メモやTipsなどを中心に他いろいろと書いていきます。

UIViewControllerでUIRefreshControlを使う方法

UIRefreshControl はテーブルビューで引っ張ってセルのデータを更新するときに使えるiOS標準の機能です。

UITableViewControllerでrefreshControlプロパティに設定しても使えますが、今回はUIViewController内でUITableViewを表示する構成でのUIRefreshControlの実装方法をメモ。

利用条件:iOS6以上

実装例

変数を宣言

@property (nonatomic, strong) UIRefreshControl *refreshControl;

 

viewDidLoadでUIRefreshControlのインスタンスを生成し、

UIViewControllerに追加したUITableViewのインスタンスにaddSubviewします。

    _refreshControl = [[UIRefreshControl alloc] init];

    [_refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];

    [self.myTableView addSubview:_refreshControl];

 

- (void)refresh:(id) sender

{    

    // 更新開始

    [sender beginRefreshing];

}

 

更新を停止したいタイミングで以下を実行します。

[_refreshControl endRefreshing];