访问表格视图(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属性为标志的值。

+0

我成功了。但有一些奇怪的东西。当我打开编辑模式时,然后向上或向下移动表格,然后关闭编辑模式,打开编辑模式时不在屏幕上的按钮不可见。我不知道为什么我的第一篇文章的方法不工作...所有的按钮都有tag = 10000 + indexPath.row。 – user1561346

+0

对不起。你的建议就像一个魅力。我的代码出错了。非常感谢你!! – user1561346