Ho una UITableView
con UIRefreshControl
definita all'interno del metodo di una UIViewController
come sotto viewDidLoad:
:UITableView sfarfallio con UIRefreshControl
- (void)viewDidLoad {
[super viewDidLoad];
self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self action:@selector(refreshMessages) forControlEvents:UIControlEventValueChanged];
UITableViewController *tableViewController = [[UITableViewController alloc] init];
tableViewController.tableView = self.messagesTableView;
tableViewController.refreshControl = self.refreshControl;
}
- (void)refreshMessages {
//load data items
if ([self.refreshControl isRefreshing]) {
[self.refreshControl endRefreshing];
}
[self.messagesTableView reloadData];
}
Io uso cellule dimensionamento sé per aggiornare i dati di cella. Durante il nuovo caricamento dei dati, sullo sfarfallio dello UITableView
. c'è un modo per evitarlo?
Modifica Ho collegato il file video per una demo di esempio. Lo UITableView
su dati di ricarica, sfarfallio. Uso l'autolayout per aggiornare le altezze delle celle dinamiche.
Questo è un codice sample che può ricreare questo problema. UITableView dovrebbe essere tirato per aggiornare. La vista tabella viene ricaricata sulla coda principale. La cella viene ridimensionata con l'autolayout.
Quindi hai un 'UIViewController' o un ' UITableViewController '? Dove viene presentato l'oggetto 'tableViewController' che si inizializza in viewDidLoad? Dovresti fornire maggiori informazioni, questo aiuterebbe – croX
solo un colpo al buio ma hai provato [tableView beginUpdates/endUpdates]? –