在TableView中禁用/启用UIButtons

时间:2011-04-28 04:37:35

标签: iphone ios uitableview uibutton

我有一个包含三个部分的表视图。第一部分包含自定义单元格,每个单元格中有3个UIButton。内容是动态的,所以我不知道会有多少行或按钮。

我想创建一个方法来禁用第一部分中的所有UIButton,然后创建另一个启用它们的按钮。我没有合成UIButton,因为我动态创建它,所以我无法引用特定的UIButton。如何禁用和启用所有UIButton?我知道UIButton的标签,如果有帮助的话。标签等于indexPath.row。

提前谢谢你, 埃文

2 个答案:

答案 0 :(得分:4)

您可以通过将UITableViewCell的子视图设为 -

来实现
if (indexPath.section == 0) 
{
    UITableViewCell *cellView = [tblView cellForRowAtIndexPath:indexPath];

    for (UIView *view in cellView.subviews) 
    {
        if ([view isKindOfClass:[UIButton class]]) 
        {
            UIButton *button = (UIButton*)view;
            [button setUserInteractionEnabled:TRUE];
        }
    }
}

答案 1 :(得分:0)

有多种方法可以做到这一点。一个简单的选项是设置一个属性,指示是应该启用还是禁用按钮,然后调用[self.tableView reloadData];。然后,您将更改cellForRowAtIndexPath方法,将每个按钮的enabled属性设置为先前存储的属性(启用/禁用)。