所以我將UITableViewCell
插入到我的tableView中。只有在插入動畫完成後才重新加載UITableViewCell
[searchTableView beginUpdates];
[searchTableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationTop];
[searchTableView endUpdates];
在此之後,我正在運行一個異步請求更新與淡出動畫tableviewcell。
[someRequestWithCompletion:^(id data) {
dispatch_async(dispatch_get_main_queue(), ^{
[searchTableView beginUpdates];
[searchTableView reloadRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
[searchTableView endUpdates];
});
}];
但是可能在插入動畫完成之前完成此請求。如果請求在插入動畫完成後完成,則不存在任何問題,如果它先前完成並在當前插入的同一單元上調用reloadRowsAtIndexPaths
,則單元立即顯示並在插入動畫淡出時強制重新加載。
有沒有辦法在單元完全插入後觸發重新加載更新?最好的辦法是做什麼?
,如果有任何疑問,請讓我知道在評論
爲什麼你需要重新加載一個新插入的行?爲什麼不等待並插入行「someRequestWithCompletion」完成? – rmaddy 2013-03-10 17:19:18
在這裏,我想,只有tableview的可以重新加載:( – 2013-03-10 17:43:39
@KishorKundan你只重新加載表視圖。您可以重新加載整個表,某些行或某些部分。當您只重新加載一行,這並不罕見人們說他們正在重新加載單元格 – rmaddy 2013-03-10 18:29:25