无法隐藏didSelectRowAtIndexPath中的自定义复选标记

时间:2013-04-28 18:52:45

标签: iphone ios uitableview

我尝试将自定义UIButton与自定义tableview单元格上的图像放在一起使用它作为复选标记,第一次点击,隐藏复选标记,然后点击将其恢复...我正在尝试以下代码“示例代码”执行此功能,但它没有隐藏复选标记,即“自定义UIButton”。 不确定我在这里缺少什么?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath    *)indexPath
{
   NSLog(@"%@",indexPath);

    TableViewCell *customCell = [[TableViewCell alloc]init];
    if (customCell.checkMarkButton.hidden == NO) {
    customCell.checkMarkButton.hidden = YES;
    } else {
    customCell.checkMarkButton.hidden = NO;
    }
}

2 个答案:

答案 0 :(得分:2)

将此行替换为TableViewCell *customCell = [[TableViewCell alloc]init];TableViewCell *customCell = [tableView cellForRowAtIndexPah:indexPath];。您不必为新单元格创建新单元格,只需获取被单击的单元格。

答案 1 :(得分:1)

问题是在didSelectRowAtIndexPath中您分配了一个新单元格。

试试这个:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath    *)indexPath {
      TableViewCell *customCell = (TableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
      customCell.checkMarkButton.hidden = !customCell.checkMarkButton.hidden;
}