如果选择了部分,则选择所有单元格。如果选择了某个单元格,则在iOS中未选择部分

时间:2015-12-23 12:08:08

标签: objective-c ios7 ios6 tableview

如何在tableview中制作可扩展的可选择部分和单元格。如果选择了部分,则选择所有单元格。如果选择了某个单元格,则在iOS中未选择部分 我是iPhone应用程序开发人员的新手,所以请帮助我。

非常感谢你!最好的问候。

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

按照以下步骤操作:

  1. 在全球范围内添加NSMutableArray。
  2. NSMutableArray *TotalListOfCheckmarkArray;
    
    1. ViewDidLoad 方法中,分配该数组。默认情况下,对于列表的所有记录,将BOOL对象“NO”添加到 TotalListOfCheckmarkArray
    2. - (void)viewDidLoad    {
      
      TotalListOfCheckmarkArray =[[NSMutableArray alloc]init];
      
       for (int i=0; i<[self.lblArray count]; i++) // Number of Rows count 
      {
       [self.TotalListOfCheckmarkArray addObject:@"NO"];
      }
      
      }
      
      1. 在您的单元格行方法中,使用以下代码更新复选标记值框
      2. if(![[self.TotalListOfCheckmarkArray objectAtIndex:indexPath.row] isEqualToString:@"NO"])
        {
            [cell.buttonCheckbox setImage:[UIImage imageNamed:@"check_box_ok.png"] forState:UIControlStateNormal];
        
        }
        
        else
        {
            [cell.buttonCheckbox setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
        }
        
        1. 现在您要选择所有行,然后使用此代码选择所有行。
        2. - (IBAction)selectAllButtonClick:(id)sender {
          
           for (int i=0; i<[self.lblArray count]; i++)
           {
          
                [TotalListOfCheckmarkArray replaceObjectAtIndex:i withObject:@"YES"];
          
           }
          
          [self.tblview reloadData];
           }
          

          无论你使用什么逻辑来选择行,而不是那个地方的那个,对于那个索引,Make NO 并在TotalListOfCheckmarkArray数组中更新。

          我注意到你的编辑迟了。

          要选择单个部分的所有行,只需编写一些代码来确定您可以按部分显示行,从而根据需要管理复选标记数组。