3

可能重复:
如何禁用 UITableView 选择突出显示?

当您点击 中的一行时UITableView,该行将突出显示并被选中。是否可以禁用此功能,因此点击一行什么也不做?

4

4 回答 4

4

是的,下面的代码将禁用用户交互,如果您只想禁用某些单元格,您需要编写一些 if-else 方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    cell.userInteractionEnabled = NO;

    return cell;
}
于 2013-01-10T16:41:12.070 回答
1

如果您的单元格上有按钮或任何仍然需要“可触摸”的东西,那么只需将选择样式设置为无:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

如果它只是一个带有文本的单元格,那么您可以像 Space Dust 建议的那样做。

于 2013-01-10T16:44:38.690 回答
1

这个之前已经回答了。

抓取UITableViewCell实例并设置以下属性:

cell.selectionStyle = UITableViewCellSelectionStyleNone;
于 2013-01-10T16:45:19.127 回答
1

你也可以试试这个:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    //do ur stuff

}
于 2013-01-10T16:57:35.897 回答