scrollview占用了整个viewcontroller。 textview位于scrollview中。我想在使用键盘外面时关掉键盘。
boostContent是textview的IBOutlet。
我已经尝试过以下代码,但它无法正常工作。
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
self.scrollView.endEditing(true)
boostContent.resignFirstResponder()
}
什么是正确的解决方案?
我也尝试过self.view.endEditing(true)
答案 0 :(得分:3)
将Tap Gesture Recognizer添加到包含文本视图的同一视图中。将其连接到:
@IBAction func tapped(sender: AnyObject) {
boostContent.resignFirstResponder()
}
我认为您尝试做的问题是您的touchesBegan
未被调用,因为它是在ViewController
上定义的,滚动视图的内容视图正在拦截接触。
答案 1 :(得分:0)
一种方法是向视图控制器添加点按手势,并将第一响应者重新签名。另一种方式,我认为是更好的方法,是使用容器视图。您将它放在scrollview中,然后将所有对象(包括文本字段)放在容器视图中。