我有一个包含多行的 UITableView
。用户只能选择 1 行。我只想在触摸行时显示灰色选择效果,而不是在选择行之后。
我在界面生成器中将选择效果设置为灰色。这使我可以在触摸时看到选择效果,但它也会在我做出选择后显示灰色选择颜色。为了解决这个问题,我尝试了 https://stackoverflow.com/a/10402278/6414904 中的以下代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = self.tableView.cellForRow(at: indexPath) as! AnswerTableViewCell
tableView.deselectRow(at: indexPath, animated: true)
}
这部分有效。当我选择一个单元格时,它只在触摸单元格时显示灰色选择效果,但在选择一个单元格后,灰色选择效果消失了。这就是我想要的,但添加此代码后,它还允许用户选择我不想要的 多个 行。通过这种方法,我也无法将 didDeselectRowAt
方法用于其他功能。
如何创建仅在触摸/按住期间显示但在选择后移除且始终只允许选择 1 行的选择效果?
最佳答案
为此特别提供了一个委托(delegate)方法。
- (void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
// do something here
}
关于ios - UITableView - 仅在触摸时突出显示单个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41269846/