0

我使用带有按钮的自定义单元格。在编辑模式下,我需要按钮消失。我在编辑状态更改时调用此方法:

-(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 个时。

4

1 回答 1

0

如果您正确地重用单元格,那么内存中唯一存在的 UITableViewCell 将是可见的 10 个。

最简单的解决方案是向实例添加一个BOOL标志UITableViewDataSource,指示是显示还是隐藏按钮。然后可见的 ~10 将由您现有的方法正确更新,并且在tableView:cellForRowAtIndexPath:滚动后将调用的 中,您可以将按钮上的 alpha 属性设置为标志的值。

于 2012-08-24T17:20:14.383 回答