像往常一样,当触摸一个tableviewcell时,它将被选中。但是现在我需要在我的tableview中选择一个单元格从不被选中。我是否可以禁止选择tableviewcell?
修改didSelectRowForIndexPath:方法后。它现在有效。谢谢ALl :) 一旦选择了单元格(需要被禁止),我只需使用selectRowAtIndexPath方法选择要再次选择的前一个选定单元格。
答案 0 :(得分:2)
正确的方法是使用tableView:willSelectRowAtIndexPath:
与所有其他答案不同,这也适用于segues; - )
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath should not be selected) {
// if another indexPath should be selected instead return this indexPath
return nil;
}
return indexPath;
}
答案 1 :(得分:1)
您可以为该单元格禁用用户交互,或为该单元格设置选择样式无。希望有所帮助!
答案 2 :(得分:1)
在您的-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法中,将以下行添加到您想要无法选择的单元格中:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
希望有所帮助
修改强>
在您的-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
方法中,在开头添加以下内容:
if (indexPath == indexPathOfTheCellThatShouldntBeSelected) return;
答案 3 :(得分:1)
在didSelectRowForIndexPath:
方法中,您可以检查单元格是否符合您的质量标准,并相应地显示UIAlertView
或者如果符合要求则继续