【问题标题】:is it possible to get a callback when a UITableView reload is done?UITableView 重新加载完成后是否可以获得回调?
【发布时间】:2011-07-11 10:49:15
【问题描述】:
【问题讨论】:
标签:
iphone
ios
uitableview
animation
scroll
【解决方案1】:
不是一个理想的解决方案,但我已经使用 UIView 动画和相应的完成回调解决了这个问题。我把它放在 UITableView 类别中。按您的预期工作。
- (void)reloadDataWithCompletion:(void (^)(BOOL finished))completion {
[UIView animateWithDuration:0.33 animations:^(){
[self reloadData];
}completion:completion];
}
【解决方案2】:
这里有一些你可以做到的 hacky 方法:
1) 当您调用 reloadData 时,您的 cellForRowAtIndexPath: 委托函数将为每个可见单元格调用一次。您可以对它们进行计数,然后在函数被调用足够多次后触发一个动作。
2) 我敢打赌,其他一些 UITableViewDelegate 函数也会以确定的方式调用。也许你可以在其中一个中调用你的刷新函数,也许会有一点延迟。
3) 你也可以使用 performSelector:withObject:afterDelay: after [tableView reloadData] 并使用一些硬编码的延迟。