UITableView将选择行方法

UITableView将选择行方法,uitableview,select,Uitableview,Select,我在这里有一个tableView,它的单元格有点不同,因为我在单元格中添加了一个textField以输入内容,UI如下所示: 在输入单元格时,我使用如下代码: [cell.contentView addSubview: myTextField]; 然后,问题来了: 在willSelectRow方法中,我只写了以下内容: - (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPa

我在这里有一个tableView,它的单元格有点不同,因为我在单元格中添加了一个textField以输入内容,UI如下所示:

在输入单元格时,我使用如下代码:

[cell.contentView addSubview: myTextField];
然后,问题来了: 在willSelectRow方法中,我只写了以下内容:

- (NSIndexPath *)tableView:(UITableView *)tableView
willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    return nil;
}
但是,在内置的应用程序中,这一行仍然可以因为触摸而高亮显示,当手指离开屏幕时,它很快就会恢复

我的意思是,这个单元格在短时间内仍将变为蓝色,或者在调试器中,它将在willSelectRow方法返回nil之前变为蓝色

有人能帮我找到问题吗


非常感谢

我猜您也应该在GetCell覆盖中将选择样式设置为None?

非常感谢!真管用!但为什么在willSelect方法中返回nil还不够呢?来自文档:“只有当用户触摸一行并抬起手指时,才会调用此方法;该行在此之前不会被选中,尽管它在触屏时高亮显示。您可以使用UITableViewCellSelectionStyleNone来禁用触摸时单元格高亮显示的外观。当表格视图处于编辑模式(即,表格视图的编辑属性设置为“是”)时,不会调用此方法,除非表格视图允许在编辑期间进行选择(即,表格视图的AllowSelectionDuringEdit属性设置为“是”。“文档”链接: