在 UIViewController 中关闭键盘
Posted
技术标签:
【中文标题】在 UIViewController 中关闭键盘【英文标题】:Dismissing the keyboard in a UIViewController 【发布时间】:2015-09-16 19:13:18 【问题描述】:我在包含 UIViewController 和 SettingsViewDelegate 的 ViewController 类中运行此代码。 View Controller 场景包含一个带有滚动条的文本视图。
@IBOutlet weak var tvEditor: UITextView!
override func viewDidLoad()
super.viewDidLoad()
// Hide keyboard via swipeDownGestureRecognizer.
let swipeGesture: UISwipeGestureRecognizer = UISwipeGestureRecognizer (target: self, action: "hideKeyboard")
swipeGesture.cancelsTouchesInView = false
UISwipeGestureRecognizerDirection.Down
func hideKeyboard()
tvEditor.resignFirstResponder()
当我在 ios 模拟器/设备中运行我的项目时,键盘不会响应向下滑动。我将设备的方向更改为横向,然后返回纵向,即键盘消失的时候。谁能告诉我哪里出错了?
【问题讨论】:
您尚未将此swipeGesture
添加到任何视图中。
【参考方案1】:
首先,请将 swipeGesture 添加到您的视图控制器。 还有……
func hideKeyboard()
self.view.endEditing(true)
它适用于您的项目。 希望对你有帮助。
【讨论】:
不客气! :) 如果您还有其他问题,请告诉我。 我将 swipeGesture 添加到我的视图控制器,但没有将 tvEditor.resignFirstResponder() 更改为 self.view.endEditing(true)。这工作了一段时间。当我确实进行了更改时,Xcode 给了我 - 致命错误:在展开 Optional 值时意外发现 nil。我将代码改回原来的样子,但我仍然收到错误消息。这是否与错误配置手势有关,还是我的代码有其他问题?你可能已经猜到了,我是个初学者。 嗨,很抱歉回复晚了。 我不知道你为什么不能使用它,它对我来说很好用。那么您的意思是存在构建错误或运行时错误吗?谢谢以上是关于在 UIViewController 中关闭键盘的主要内容,如果未能解决你的问题,请参考以下文章