iOS - UITextView 在情节提要中关闭键盘

Posted

技术标签:

【中文标题】iOS - UITextView 在情节提要中关闭键盘【英文标题】:iOS - UITextView dismiss keyboard in storyboard 【发布时间】:2014-03-30 01:37:12 【问题描述】:

我有一个 UITextView,用户可以在其中输入一些注释并保存它们。当用户在键盘边缘拖动并将其拉下时,我想关闭键盘(就像在消息中一样)。我看到在故事板-> 属性检查器-> 滚动视图-> 键盘中,有一个下拉菜单,我可以在其中选择关闭键盘的方式。我已经尝试过 Dismiss on drag 和 Dismiss 交互但没有任何反应。我尝试将管理文本视图的视图控制器设置为委托,但似乎没有一种方法可以通过它与键盘进行交互。有什么想法吗?

【问题讨论】:

【参考方案1】:

我遇到了类似的问题。我有一个UITextView 位于UITableView 的一个单元格中。将 TextView 的键盘属性设置为“拖动时关闭”不起作用。解决方案是将 TableView 的 属性 Keyboard 设置为“Dismiss on drag”。

我认为您的 ScrollView 可能包含在其他一些控件中,例如表视图。然后是执行滚动的容器。如果是这种情况,您应该将容器的 Keyboard 属性设置为“Dismiss on drag”。

如果这不起作用,那么我的另一个建议是您的 ScrollView 中没有足够的内容来实际进行滚动。我会确保您的 ScrollView 内容的长度足够大,因此它不适合屏幕。

让我知道这些是否有效。

【讨论】:

你是对的 - 一旦我有足够的东西以至于笔记不适合一个屏幕,我可以拖动以关闭键盘。我也误解了“Dismiss on drag”的含义。我认为这意味着在键盘边缘拖动,但它是在文本视图上拖动。现在事情对我来说很清楚了。谢谢!【参考方案2】:

也许(我没有尝试过,我也不是很有经验)你可以在主视图中添加一个UISwipeGestureRecognizer(也许你必须将主视图“自定义类”更改为UIControl)和然后从它的操作方法中调用[self.view endEditing:YES]

【讨论】:

以上是关于iOS - UITextView 在情节提要中关闭键盘的主要内容,如果未能解决你的问题,请参考以下文章

从情节提要重新加载视图时,以编程方式添加的 iOS 子视图会丢失

如何使用 Swift 中的自动生成键从情节提要中设置的 UITextView 中检索文本?

在 UIViewController 中关闭键盘

iOS 移除 UITextView 内容下方的额外空间

编辑开始时 UITextView 光标移动

键盘不会在应用程序中关闭