2009-10-28 11 views
43

Sto cercando di trovare un esempio di posizionamento di un elemento sopra la vista tabella al di fuori della normale regione di scorrimento. Come lo farei? Un esempio potrebbe essere ciò che l'app Tweetie 2 per iPhone fa per aggiornare i tweet.iPhone pull down come Tweetie

Il codice di esempio sarebbe estremamente utile.

+1

Se si utilizza questo, essere consapevoli del fatto che vi è un brevetto in sospeso per il concetto: http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch- adv.html & r = 1 & f = G & l = 50 & d = PG01 & p = 1 & S1 = 20100199180.PGNR. & OS = dn/20100199180 & RS = DN/20100199180 –

+0

Interessante, so che Tweetie ha fatto meglio, non sono sicuro che sia stato il primo. Si noti inoltre che questa domanda è stata posta molto prima che il brevetto fosse depositato. – DanO

+0

Credo che quando il brevetto è archiviato è irrilevante. Il criterio è "quando Tweetie 2 ha rilasciato questa funzionalità" e "qualcun altro ha rilasciato un prodotto che ha fatto la stessa cosa prima di loro?" –

risposta

52

Ho trovato la risposta alla mia domanda, per chiunque fosse interessato.

EGOTableViewPullRefresh

ho provato questa soluzione e funziona benissimo! È quasi identico al refresh di Tweetie Pull Down.

+4

Oggi ho trascorso un po 'di tempo su EGOTableViewPullRefresh e ho spostato il codice principale in una sottoclasse UITableViewController, per alcune persone potrebbe essere più semplice da implementare. http://github.com/jessedc/EGOTableViewPullRefresh – Jessedc

+0

Penso che EGOTableViewPullRefrehsh non sia una soluzione molto semplice. Ma se puoi usarlo: è il modo migliore ;-) –

+0

Non riesco a trovare una licenza sul sito github. – titaniumdecoy

20

Ecco un'alternativa al EGOTableViewPullRefresh:

http://blog.leahculver.com/2010/12/iphone-pull-to-refresh.html

sorgente disponibile su github qui:

https://github.com/leah/PullToRefresh

E 'un po' più facile da usare, dal punto di vista gli sviluppatori, anche se sono andato con EGOTableViewPullRefresh alla fine ho preferito come sembrava.

+2

Funziona alla grande !!!! – Trevor

+0

Ha un bug quando lo si utilizza con una tabella semplice che ha sezioni. Quando si scorre mentre si aggiorna, le celle della tabella compariranno sopra l'intestazione della sezione. – Stas

4

Iniziare con iOS 6.0, esiste un controllo standard chiamato UIRefreshControl in sdk. apple doc here

2

Qui che cosa si può fare con iOS 6 e versioni successive:

- (void)viewDidLoad { 
    // other initialization 
    self.refreshControl = [[UIRefreshControl alloc] init]; 
    [self.refreshControl addTarget:self 
          action:@selector(myRefresh) 
        forControlEvents:UIControlEventValueChanged]; 
} 

tuo metodo di aggiornamento:

- (void)myRefresh { 
    // get refreshed data for table view 
} 

Termina l'aggiornamento in reloadData:

- (void)reloadData { 
    [self.tableView reloadData]; 

    // End the refreshing 
    if (self.refreshControl) { 
     [self.refreshControl endRefreshing]; 
    } 
}  

Allora siete pronti!