2013-05-31 15 views
9

Wiem, jak dodać pull-to-refresh do kontrolera widoku. Ale teraz sytuacja jest taka: mam UIView &, która zawiera UITableView i chcę wyciągnąć widok tabeli na samym dole tableview, aby ponownie załadować dane.Jak dodać pull tableview do odświeżania danych wewnątrz uitableview

Jak dodać przeciągnięcie do odświeżenia wewnątrz tego UITableView, a nie kontrolera widoku nadrzędnego.

+0

Czy starasz się to osiągnąć w systemie iOS 6? –

+0

Sprawdź ten kod 'https: // github.com/enormego/EGOTableViewPullRefresh'. – Dilip

+0

Czy można użyć kontrolera widoku tabeli podrzędnej? – Wain

Odpowiedz

25

W swojej viewDidLoad dodać to:

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

i odświeżyć

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

to działa tylko w iOS6 –

+0

Brava. Możemy również użyć niektóre UITableViewController, jeśli spełnia potrzeby. – David

+0

@vin Jak byś powiedział, że akcja odświeżania ma się zatrzymać? (Jaki kod byś uruchomił?) –

4

to proste: Weź jedną UIScrollView i wewnątrz niej wziąć UITableview i umieścić w dolnej części UITableView i po prostu napisać Scrollview metodę delegata

#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]; 
       } 
      } 
     } 
    } 
Powiązane problemy