如何动态设置单元附件以进行复选标记?

时间:2014-03-18 10:42:51

标签: objective-c objective-c-blocks

我想在存储在数据库中的特定数据的表视图中设置单元附件复选标记,因此当在表视图中加载数据时,我必须显示检查了哪些数据,其单元附件将显示其他未选中的复选标记。

我尝试了很多但是细胞附件无法在表格视图中显示复选标记。如果我尝试手动点击单元格,它将显示蓝色单元格附件以进行复选标记。

[mobject addObjectsFromArray:MSG];                        
for (int i=0;i<mobject.count;i++)                           
{                            
    for (int j=0;j<MSG.count;j++)                       
    {                      
        if ([mobject[i] isEqualToString:MSG[j]])                   
        {         
            if([dict objectForKey:[NSString stringWithFormat:@"R%d",indexPath.row]])                
            {                       
                cell.accessoryType = UITableViewCellAccessoryCheckmark;                               
                cell.selected = YES;             
            }                
            else           
            {            
                cell.accessoryType = UITableViewCellAccessoryNone;              
            }               
        }              
    }            
}

1 个答案:

答案 0 :(得分:0)

当你的表调用tableView:cellForRowAtIndexPath:dataSource方法时,你可以设置cell accessoryType并更改它。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *cellIdenfitier = @"CellIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdenfitier];

    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdenfitier];
    }
    if (someCondition) {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    }
    else {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }
}