【发布时间】:2011-07-27 16:27:44
【问题描述】:
如何重新加载整个 tableview?在-tableView:cellForRowAtIndexPath: 中,我将在线数据与用户设备上的数据进行比较,如果不一样,则显示一个下载内容的按钮。在连接到此按钮的操作后,我想刷新整个 tableview 以再次将在线内容与本地内容进行比较。
reloadData 实际上会更新值,但不会删除这些按钮。我想更改单元格的显示方式..
换句话说,我希望这个条件(-tableView:cellForRowAtIndexPath:)起作用,但它不起作用:
if (![[NSFileManager defaultManager] fileExistsAtPath:someDir isDirectory:nil]) {
UIButton *bt = [UIButton buttonWithType:UIButtonTypeRoundedRect];
(...)
[cell addSubview:bt];
}
现在要更新表格,我必须弹出视图控制器并再次推送它。我想用导航栏上的按钮来做。
提前致谢。
【问题讨论】:
-
如果你使用的是自定义的 UITableViewCell,请确保你实现了准备重用单元格的方法,这是 dequeueReusableCellWithIdentifier 的问题。带有按钮的单元格需要自己的标识符。
标签: iphone uitableview reload