像往常一样,当一个 tableviewcell 被触摸时,它将被选中。但是现在我需要在我的表格视图中永远不会选择一个单元格。我怎么能禁止选择一个表格视图单元格?
修改 didSelectRowForIndexPath: 方法后。现在可以了。Thx ALLl :) 一旦选择了单元格(需要被禁止),我只需使用 selectRowAtIndexPath 方法来选择之前选择的单元格以再次选择。
像往常一样,当一个 tableviewcell 被触摸时,它将被选中。但是现在我需要在我的表格视图中永远不会选择一个单元格。我怎么能禁止选择一个表格视图单元格?
修改 didSelectRowForIndexPath: 方法后。现在可以了。Thx ALLl :) 一旦选择了单元格(需要被禁止),我只需使用 selectRowAtIndexPath 方法来选择之前选择的单元格以再次选择。
正确的方法是使用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;
}
您可以禁用该单元格的用户交互或为该单元格设置选择样式无。希望有帮助!
在您的-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法中,将以下行添加到您不希望选择的单元格中:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
希望能帮助到你
编辑
并在您的-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
方法中在开头添加以下内容:
if (indexPath == indexPathOfTheCellThatShouldntBeSelected) return;
在您的didSelectRowForIndexPath:
方法中,您可以检查电池是否符合您的质量标准,UIAlertView
如果符合要求,请显示或继续