您好我试图让我的uitableviewcell呈现为非活动状态,这样用户就无法点击而只是说出单元格中的数据。我尝试这样做:
UITableViewCell *cell = nil;
if (indexPath.row < factsCount) {
static NSString *FactsCellIdentifier = @"FactsCell";
cell = [tableView dequeueReusableCellWithIdentifier:FactsCellIdentifier];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
但是仍然可以单击并突出显示单元格。
感谢您的帮助!
答案 0 :(得分:24)
要停止选择某些单元格,请使用:
cell.userInteractionEnabled = NO;
除了阻止选择之外,这还会阻止tableView:didSelectRowAtIndexPath:为设置它的单元格调用。
(但请注意,它将禁用单元格中的任何交互式内容 - 例如。按钮 - 对于这种情况,将selectionStyle设置为UITableViewCellSelectionStyleNone并忽略tableView:didSelectRowAtIndexPath:调用该单元格)
答案 1 :(得分:11)
将单元格的selectionStyle
设置为UITableViewCellSelectionStyleNone
。
答案 2 :(得分:4)
这可以通过以下方式完成:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
或
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
答案 3 :(得分:4)
要禁用单元格选择,您可以在表视图委托中实现-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
方法,如果不希望选择给定NSIndexPath的单元格,则返回nil。
正如在禁用单元格突出显示的其他答案中已经指出的那样,您应该将其selectionStyle属性设置为UITableViewCellSelectionStyleNone。
还要确保在重用tableviewcells时正确设置属性