ios - UITableView - 仅在触摸时突出显示单个单元格

标签 ios swift uitableview interface-builder

我有一个包含多行的 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/

相关文章:

ios - 如何使 UITabBarItem 成为来自 unicode 的图像?

objective-c - 如何将 NSDitonary 从 Swift 转换为 Objective-c?

iphone - 为每个部分自定义 UITableView 部分边框颜色

ios - UIPopoverController 在屏幕截图中缺少侧面图像

ios - 展平具有重复值的字典数组 Swift 3.0

ios - 将 TAB BAR 添加到 uitableviewcontroller

ios - 将 UITextFiled 的内容保存到 NSUserDefaults

ios - 如何在屏幕上交换文本字段的位置 - Swift

objective-c - 重新排序 UITableView 中的单元格

ios - 为什么我的 NO RESULTS 单元格没有显示在我的 TableView Controller 中?