2013-05-31 5 views
9

プルダウンをビューコントローラに追加する方法を知っています。しかし、今の状況は:UIView &にはUITableViewが含まれていて、テーブルビューの最下部にあるテーブルビューをプルして、データをリロードします。プルテーブルビューを追加してuitableview内のデータをリフレッシュする方法

親ビューのコントローラーではなく、このUITableViewの内部にプル - リフレッシュを追加する方法。

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
[refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; 
[self.myTableView addSubview:refreshControl]; 

をリフレッシュ

- (void)refresh:(id)sender 
{ 
// do your refresh here and reload the tablview 
} 
+0

あなたはiOS 6でそれを達成しようとしていますか? –

+0

このコードは 'https:// github.com/enormego/EGOTableViewPullRefresh'をご覧ください。 – Dilip

+0

子テーブルビューコントローラを使用できますか? – Wain

答えて

25

あなたのviewDidLoadではこれを追加1 UIScrollViewを取り、その中UITableviewを取るとUITableViewの底に入れて、ちょうどScrollviewのデリゲートメソッド

を書きます
#pragma mark - 
    #pragma mark - Scroll View Delegate Method 

    - (void) scrollViewDidScroll:(UIScrollView *)scrollView { 

     if (scrollView == scrollObj) { 
      CGFloat scrollPosition = scrollObj.contentSize.height - scrollObj.frame.size.height - scrollObj.contentOffset.y; 
      if (scrollPosition < 30)// you can set your value 
      { 
       if (!spinnerBottom.isAnimating) { 
        [spinnerBottom startAnimating]; 
        [self YourPUllToRefreshMethod]; 
       } 
      } 
     } 
    } 
+3

これはiOS6でのみ動作します –

+0

Brava。必要に応じて、いくつかのUITableViewControllerを使用することもできます。 – David

+0

@vinどのようにリフレッシュアクションを停止するように指示しますか? (あなたはどんなコードを実行しますか?) –

4

それは簡単です:

関連する問題