如何限制用户不要选择TableView单元格的三个以上复选框

时间:2017-03-10 07:13:28

标签: objective-c tableviewcell

我在tableView上填充了10个元素。我给出了选择元素的复选框,现在我想限制用户不要选择tableViewCell的三个以上元素。我怎么能这样做?

{{1}}

2 个答案:

答案 0 :(得分:1)

将NSUInteger变量声明为CheckMarkcount。

@interface ViewController ()
{

  NSUInteger CheckMarkcount;

}

-(void)viewDidLoad{
    CheckMarkcount = 0;
}


-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
   UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
   if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
       cell.accessoryType = UITableViewCellAccessoryNone;
       if(CheckMarkcount>0)
           CheckMarkcount--;
   }
   else {

      if(CheckMarkcount<3)
      {
         cell.accessoryType = UITableViewCellAccessoryCheckmark;
         CheckMarkcount++;
     }
   }
}

答案 1 :(得分:-1)

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];



    if (cell.accessoryType == UITableViewCellAccessoryNone)
    {

        if(count <3)
        {
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
            count = count + 1;
        }
        else
        {
            //alert
            NSLog(@"greater then 3");
        }


    }

    else
    {
        if(count>1)
        {
            cell.accessoryType = UITableViewCellAccessoryNone;
            count--;
        }
        else
        {
            //show alert
            NSLog(@"choose only 1");
        }

    }


    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}