小编典典

UITableview:如何禁用某些行而不是其他行的选择

all

我正在显示tableview从 XML 解析的组内容。我想禁用它的点击事件(我根本不能点击它)
该表包含两个组。我只想禁用第一组的选择,而不是第二组。单击第二组的第一行navigates到我的管player view

我怎样才能使特定的组或行可选择?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    if(indexPath.section!=0)
    if(indexPath.row==0)

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:tubeUrl]];   
}

谢谢。


阅读 60

收藏
2022-04-18

共1个答案

小编典典

您只需将此代码放入cellForRowAtIndexPath

禁用单元格的选择属性:(点击单元格时)

cell.selectionStyle = UITableViewCellSelectionStyleNone;

启用能够选择(点击)单元格:(点击单元格)

// Default style
cell.selectionStyle = UITableViewCellSelectionStyleBlue;

// Gray style
cell.selectionStyle = UITableViewCellSelectionStyleGray;

请注意,当用户触摸时,带有 的单元格selectionStyle = UITableViewCellSelectionStyleNone;仍会导致 UI
调用。didSelectRowAtIndexPath为避免这种情况,请按照以下建议进行设置。

cell.userInteractionEnabled = NO;

反而。另请注意,您可能希望将cell.textLabel.enabled = NO;项目设置为灰色。

2022-04-18