在我的应用中,我有UITableView
。我使用复选标记标记所选单元格,如果再次选中,则删除复选标记。我有一个UIBarButtonItem,它是一个“下一个”按钮,默认情况下被禁用。
我的问题是,如果至少有一个UITableViewCell
有复选标记,则必须启用下一个按钮。如何控制所有单元格,无论其中至少有一个单元格是否有复选标记。
答案 0 :(得分:3)
你不能“只”使用一个bool变量,当选择单元格时,它被设置为true,而当它不被选择时,它被设置为false?然后每次重新加载tableview时检查一下,并相应地禁用/启用下一个按钮?
答案 1 :(得分:0)
只检查chemark是否被选中,如果是,则取消选中它,如果没有选中则再检查它。
伪代码,而非实际代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:
(NSIndexPath *)indexPath
{
if(checkmark checked )
{
un checked it
nextButton.enabled=false;
}
else
{
checked it;
nextButton.enabled=false;
}
}
答案 2 :(得分:0)
通常,我认为最好的方法是为每个对象设置一个布尔值。
我希望您有一个传递给表视图的对象数组。
因此,在didSelect方法中,如果设置了数组中的至少1个对象,则可以检查FOR循环。
答案 3 :(得分:0)
在tableView中启用multipleSelection。在viewDidLoad
中tableView.allowsMultipleSelection = YES;
每次选择或取消选择一行时,请检查[tableView indexPathsForSelectedRows]
数组的计数。如果count大于0,则启用按钮。否则禁用它。
[tableView indexPathsForSelectedRows]返回NSArray。
无需采取超出需要的额外参数。