如何在iphone sdk上设置一个uitableviewcell unlickable

时间:2010-01-12 18:08:22

标签: iphone uitableview

您好我试图让我的uitableviewcell呈现为非活动状态,这样用户就无法点击而只是说出单元格中的数据。我尝试这样做:

UITableViewCell *cell = nil;
if (indexPath.row < factsCount) {
static NSString *FactsCellIdentifier = @"FactsCell";
cell = [tableView dequeueReusableCellWithIdentifier:FactsCellIdentifier];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

但是仍然可以单击并突出显示单元格。

感谢您的帮助!

4 个答案:

答案 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时正确设置属性