iPhone UITableView中的selectionStyle编辑时的单元格选择Style?

iPhone UITableView中的selectionStyle编辑时的单元格选择Style?,iphone,ios,objective-c,xcode,Iphone,Ios,Objective C,Xcode,可能重复: 点击ui表格视图中的行时,该行将高亮显示并选中。是否可以禁用此功能,以便点击一行不会产生任何效果?下面的“是”代码将禁用用户交互,如果您不想禁用某些单元格,则需要编写一些if-else方法 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cel

可能重复:


点击
ui表格视图中的行时,该行将高亮显示并选中。是否可以禁用此功能,以便点击一行不会产生任何效果?

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

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

    cell.userInteractionEnabled = NO;

    return cell;
}

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

cell.selectionStyle = UITableViewCellSelectionStyleNone;
如果它只是一个有文字的单元格,你可以按照太空尘埃的建议去做。

这已经得到了回答

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

cell.selectionStyle = UITableViewCellSelectionStyleNone;
您也可以尝试以下方法:

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

    //do ur stuff

}

在dup文章中,我更喜欢在tableView上设置AllowSelection=NO on属性的低票答案。将
AllowSelection
设置为
NO
很好,但前提是您希望整个表格视图都有不可选择的行。要对单个单元格的可选择性进行更精细的控制,请使用
UITableViewCell
selectionStyle
属性。在2020年,请看这里:这将阻止单元格接收触摸事件,这可能不是他想要的。如果禁用用户交互,用户无法点击它:),而且他可能使用了一个伪造的账户