iphone开发:控制UITableViewCell

时间:2013-02-11 10:43:31

标签: iphone ios objective-c uitableview

在我的应用中,我有UITableView。我使用复选标记标记所选单元格,如果再次选中,则删除复选标记。我有一个UIBarButtonItem,它是一个“下一个”按钮,默认情况下被禁用。

我的问题是,如果至少有一个UITableViewCell有复选标记,则必须启用下一个按钮。如何控制所有单元格,无论其中至少有一个单元格是否有复选标记。

4 个答案:

答案 0 :(得分:3)

你不能“只”使用一个bool变量,当选择单元格时,它被设置为true,而当它不被选择时,它被设置为false?然后每次重新加载tableview时检查一下,并相应地禁用/启用下一个按钮?

答案 1 :(得分:0)

在didSelectRowAtindexPath中的

只检查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。

无需采取超出需要的额外参数。