1

在我的表格视图中,我使用了包含复选框的自定义单元格。在自定义单元格类中添加复选框的代码是:

checkbox = [[SSCheckBoxView alloc] initWithFrame:CGRectMake(0, 20, 20, 20)
                                                    style:kSSCheckBoxViewStyleGlossy
                                                  checked:NO];
[self addSubview:checkbox];

我的问题是每当我点击它会调用的复选框didSelectRowAtIndexPath。如何阻止这个?

4

2 回答 2

4

您必须添加UIButton或将复选框设置为按钮,然后addsubview将其添加到UITabelViewCell. 这将覆盖didSelectRowAtIndexPath方法本身,并且单击按钮将使您的操作。还要使 Button 的尺寸更大一些,以便可点击区域是合理的。希望这可以帮助。

编辑 :

因此,如果您想这样做,我有办法IsChecked = YES在复选框方法中添加一个布尔值。然后在didSelectRowAtIndexPath调用该方法时,在其中添加

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
   {

       if(IsChecked == NO)
       { 
         Ischecked = NO; 
         // Add your methods 
       }
    }

希望你明白了....

于 2013-08-02T07:12:21.893 回答
3

您可以通过为索引路径返回 nil 来停止选择。使用以下代码。

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    return nil;
}
于 2013-08-02T07:17:06.563 回答