当通过点击背景关闭 UITextView 的键盘时,我在 didSelectRowAt 中得到错误的 indexPath

Posted

技术标签:

【中文标题】当通过点击背景关闭 UITextView 的键盘时,我在 didSelectRowAt 中得到错误的 indexPath【英文标题】:I get wrong indexPath in the didSelectRowAt when the keyboard of the UITextView is dismissed by taping on the background 【发布时间】:2020-09-07 12:44:02 【问题描述】:

我有一个表格视图。最后一行是 UITextView 而上面的 2 个单元格是可点击的(通过点击它们会出现另一个 viewController)。当我开始编辑文本字段时,会出现一个键盘,因此上面的单元格不再适合,我们看不到它们。 然后我决定通过点击背景来隐藏我的键盘。 问题是:当我点击某个点时,会调用 didSelectRowAt。这个“确定”点是出现在上述 2 个可点击单元格边界内的任何点。 似乎在关闭键盘并恢复初始 UI 后,触摸手势被识别,系统认为单元格被选中。 谁曾经遇到过这个问题?我该如何应对这个错误?请分享您的经验

【问题讨论】:

用截图和代码提供解释。提供准确的细节。 【参考方案1】:

这个问题不清楚。您选择了错误的索引路径,或者您根本不想要任何选择?

当您显示键盘和更新 UI 时,您可以禁用表格中的任何选择。使用完键盘后,您可以再次启用它。

https://developer.apple.com/documentation/uikit/uitableview/1614911-allowsselection

【讨论】:

以上是关于当通过点击背景关闭 UITextView 的键盘时,我在 didSelectRowAt 中得到错误的 indexPath的主要内容,如果未能解决你的问题,请参考以下文章

如何确定何时点击背景区域?

如何通过点击外部来关闭 UITextView?

解除键盘后,带有所选文本的UITextView不响应触摸

当uitextView处于焦点时如何隐藏键盘~~

当键盘可见时如何使 UITextView 一直滚动到底部

如何使键盘从 UITextView 中消失?