当您点击UITableView
中的某一行时,该行会突出显示并被选中。是否可以禁用此功能,因此点击一行什么都不做?
答案 0 :(得分:18)
cell.selectionStyle = UITableViewCellSelectionStyleNone;
或[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
此外,请确保您未在-tableView:didSelectRowAtIndexPath:
中实施table view delegate
,或明确排除您希望不执行任何操作的单元格。
答案 1 :(得分:4)
实现tableView:willSelectRowAtIndexPath:
的{{1}}委托方法并返回UITableView
。从此方法返回nil告诉表视图不选择行,因此nil
方法不会被调用。但这样做并不能阻止突出显示行。要禁用对行集单元格选择样式的突出显示效果为tableView:didSelectRowAtIndexPath:
,如上面的答案中所述。
答案 2 :(得分:2)
刚设置:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
答案 3 :(得分:2)
cell.selectionStyle = UITableViewCellSelectionStyleNone;
答案 4 :(得分:1)
如果你想要停止突出显示使用代码说:你想要的值为19
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexpath.row == '19')
cell.selectionStyle = UITableViewCellSelectionStyleNone;
else
cell.selectionStyle = UITableViewCellSelectionStyleGray;
}
但是,如果你想控制细胞的选择
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexpath.row == '19')
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
答案 5 :(得分:1)
对于Swift 3:
cell.selectionStyle = UITableViewCellSelectionStyle.none
答案 6 :(得分:0)
接受的答案对我不起作用。这个问题让我疯狂了一段时间,因为当下一个视图加载时,它看起来像任何选择上的“小故障”..
我的解决方案:我必须转到实际TableViewCell(我构建的自定义单元格)的.xib文件中选择单元格并选择CellView。 (确保选择单元格,而不是其中的子视图。它将变为蓝色,如图所示)。在左侧点击“选择” - > “没有”。这应该与使用代码完全相同,但由于某种原因它只是不起作用......
答案 7 :(得分:0)
这是针对您有自定义单元格的情况,但是我在寻找答案时发现了这个问题,因此我想将其保留在这里,以防对他人有所帮助
转到您的自定义单元格,然后在selectionStyle
方法中将.none
设置为awakeFromNib
:
override func awakeFromNib() {
super.awakeFromNib()
// disable selection
selectionStyle = .none;
}
如果您在多个UITableView
中使用此自定义单元格,则只需在自定义单元格中设置一次,而不必在您使用的每个UITableView
上设置一次:)
答案 8 :(得分:0)
对于Swift 4
cell.selectionStyle = UITableViewCell.SelectionStyle.none
答案 9 :(得分:0)
您可以简单地针对 OBJ C 执行此操作:
TADOQuery