使用按钮单击标记UITableView中的所有复选框

时间:2015-07-29 08:17:46

标签: ios objective-c uitableview checkbox

在我的UITableView" tableview"我使用UITableView默认功能在每行中添加了复选框。

- (void)viewDidLoad {
     [tableview setEditing:YES animated:YES];
       }
 -(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
 {
    return 3;
 }

我只能选择多个复选框。但是我想使用单击按钮选择所有复选框。我可以使用didSelectRowAtIndexPath循环遍历所有行并获取内容,但复选框保持未选中状态。

- (IBAction)selectallbutton:(id)sender {

   NSInteger nRows=[arr count];

    for(int i=0;i<nRows;i++){
        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
        [self tableView:tableview didSelectRowAtIndexPath:indexPath];


    }
 }

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    NSLog(@"%@",[arr objectAtIndex:indexPath.row]);
}

是否可以使用这种方法检查它们,还是应该尝试其他方式?

1 个答案:

答案 0 :(得分:0)

试试这个,

- (IBAction)selectallbutton:(id)sender {

   NSInteger nRows=[arr count];

    for(int i=0;i<nRows;i++){
        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
        UITableViewCell *cell = [tableview cellForRowAtIndexPath:indexPath];
        [cell setSelected:YES animated:NO]; //you can change animated:YES if needed
     }
}