Tableview 禁用单元格中的用户交互

Posted

技术标签:

【中文标题】Tableview 禁用单元格中的用户交互【英文标题】:Tableview disable user interaction in cells 【发布时间】:2018-08-01 14:23:54 【问题描述】:

我在 UITableView 中有一个单元格,其中有一个 UITextField,当我点击该单元格时,键盘会弹出。但我想要的是 didSelectRow 函数被调用。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)

如果我将 textField isUserInteractionEnabled 设置为 false 但之后 becomeFirstResponder 不再起作用,那么可行。

那么是否有任何属性可以设置,以便只调用 didSelectRowAt 函数。有点像allowSelectionDuringEditing?

【问题讨论】:

【参考方案1】:

我认为有两种(不清楚)可能的方式:

您可以在 textField 上添加一个透明的 UIView,这样您就无法点击它。 另一种解决方案是在单元格选择后设置 textField isUserInteractionEnabled = true,然后在 textFieldShouldEndEditing 委托中将其设置为 false。

【讨论】:

以上是关于Tableview 禁用单元格中的用户交互的主要内容,如果未能解决你的问题,请参考以下文章

Tableview编辑模式下禁用TextField

禁用所有 UITableViewCells 用户交互

键盘存在时禁用 TableView 交互

TextField 正在阻止 TableView 滚动

UICollectionView 单元格用户交互已禁用

iOS 7.0 UITableView backgroundView 中的控件禁用了用户交互