如何在表视图中隐藏自定义复选标记

时间:2012-03-12 17:41:32

标签: ios5 uitableview xcode4.2

我有一个UITableiew,我希望能够在选择(点击)行时显示自定义复选标记,但是,如果任何其他行上有​​复选标记,则必须隐藏它。做这个的最好方式是什么? IF ......似乎根本不起作用,它不会像我想象的那样隐藏和取消隐藏复选标记。

提前致谢。 -PaulS。

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

    //This will hide the selected row...
    cell.imageViewDidSelectRow.hidden = YES;

//    if (cell.imageViewDidSelectRow.hidden = NO){
//        cell.imageViewDidSelectRow.hidden = YES;
//    }

}

2 个答案:

答案 0 :(得分:0)

1) Maintain a tag in class level as an NSIndexPath variable. 
2) Whenever a cell is selected make note of the indexPath and reload the table view. 
3) In cellForRowAtIndexPath delegate check for this variable and set marks accordingly.
4) This will not be costly if you have the cell with less information.

答案 1 :(得分:0)

您可以通过此代码获取tableview的每个单元格 UITableViewCell * cell = [product_table cellForRowAtIndexPath:[NSIndexPath indexPathForRow:clickedTag inSection:0]]; 制作一个循环。

for(int i=0;i<[tabledata count];i++){
cell.imageViewDidSelectRow.hidden = YES; 
}

除了当前行之外的每个单元格,并且您只为当前行显示了一个图像。