【问题标题】:Disable/Enable UIButtons in TableView在 TableView 中禁用/启用 UIButtons
【发布时间】:2011-04-28 04:37:34
【问题描述】:
我有一个包含三个部分的表格视图。第一部分包含自定义单元格,每个单元格中有 3 个 UIButton。内容是动态的,所以我不知道会有多少行或按钮。
我想创建一个方法来禁用第一部分中的所有 UIButton,然后创建另一个启用它们的按钮。我没有合成 UIButton,因为我是动态创建的,所以我无法引用特定的 UIButton。如何禁用和启用所有 UIButtons?我知道 UIButtons 的标签,如果有帮助的话。标签等于 indexPath.row。
提前谢谢你,
埃文
【问题讨论】:
标签:
iphone
ios
uitableview
uibutton
【解决方案1】:
您可以通过获取 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];
}
}
}
【解决方案2】:
有多种方法可以做到这一点。一个简单的选项是设置一个属性,指示是否应该启用或禁用按钮,然后调用[self.tableView reloadData];。然后,您将更改 cellForRowAtIndexPath 方法,将每个按钮的启用属性设置为您之前存储的属性(启用/禁用)。