当UITableView 在编辑状态时,点击cell,不调用didSelectedRowAtIndexPath解决办法

来源:互联网 发布:淘宝如何推广店铺 编辑:程序博客网 时间:2024/04/28 12:31
当UITableView 在编辑状态时,点击cell,不调用didSelectedRowAtIndexPath.

问题代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath  {
    if (self.tableView.editing == YES)  {
        NSLog(@"now in editing mode");
    }
    else {
        NSLog(@"now in normal mode");
    }
}

- (void)setEditing:(BOOL)editing animated:(BOOL)animated  {
    [super setEditing:editing animated:animated];
    // must be called first according to Apple docs
    [self.tableView setEditing:editing animated:animated];
}

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath  {
    // Return NO if you do not want the specified item to be editable.
    return YES;
}

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath  {
    return UITableViewCellEditingStyleNone;
}

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath  {
    return NO;
}

以上代码编辑状态下点击cell,无法调用-didSelectedRowAtIndexPath方法打印"now in editing mode"。

解决方法:
将UITableVIew 的属性 allowsSelectionDuringEdinting 设置为 TRUE,之后就可在编辑模式下,调用点击方法了。

self.tableView.allowsSelectionDuringEditing=YES;

0 0
原创粉丝点击