访问表格视图(Xcode,iPhone)中的所有单元格
问题描述:
我使用具有按钮的自定义单元格。在编辑模式下,我需要按钮消失。 我在编辑状态发生变化时调用这个方法:访问表格视图(Xcode,iPhone)中的所有单元格
-(void)setButtonsVisibility:(BOOL)visibility {
UIButton *currButton;
for (int i = 0; i <= [array count] - 1; i++) {
currButton = (UIButton *)[_tableView viewWithTag:10000+i];
if (currButton) {
[currButton setAlpha:visibility];
}
}
}
它的伟大工程。但是这种方法不适用于现在不可见的细胞。例如,表格中有10个以上的单元格时。
答
如果您正在重复使用单元格,那么存储器中存在的唯一UITableViewCells将是可见的10个单元格。
最简单的解决方案是将BOOL
标志添加到指示是否显示或隐藏按钮的UITableViewDataSource
实例。然后,可见的〜10将被你现有的方法正确更新,在tableView:cellForRowAtIndexPath:
,你将在滚动后调用,你可以设置按钮上的alpha属性为标志的值。
我成功了。但有一些奇怪的东西。当我打开编辑模式时,然后向上或向下移动表格,然后关闭编辑模式,打开编辑模式时不在屏幕上的按钮不可见。我不知道为什么我的第一篇文章的方法不工作...所有的按钮都有tag = 10000 + indexPath.row。 – user1561346
对不起。你的建议就像一个魅力。我的代码出错了。非常感谢你!! – user1561346