[swift]当tap受 UITextView 检测

标签: UITextView ios Swift
发布时间: 2015/6/17 23:56:54
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我工作有各种程序 UITextView s。我遇到的问题是我无法检测到用户已拍了拍外面的 UITextView ,我可以隐藏键盘。我试过各种行动,但他们都不工作。

我使用的与操作的代码:

@IBAction func touchOutsideTextField(sender: UITextField)
{
    sender.resignFirstResponder()
}

什么应该我做隐藏键盘而不是这?

解决方法 1:

您可以使用 UITapGestureRecognizer 的。

将 TapGesture 添加到视图,视图是拍了拍那时间键盘将隐藏。

这里是为你的示例代码。

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var text: UITextView!
@IBOutlet weak var text2: UITextView!
@IBOutlet weak var text3: UITextView!
@IBOutlet weak var text4: UITextView!

override func viewDidLoad() {
    super.viewDidLoad()

    let aSelector : Selector = "touchOutsideTextField"
    let tapGesture = UITapGestureRecognizer(target: self, action: aSelector)
    tapGesture.numberOfTapsRequired = 1
    view.addGestureRecognizer(tapGesture)
}

func touchOutsideTextField(){

    self.view.endEditing(true)

    }

}

或者你可以使用 touchesBegan 方法为它添加此代码,如果你想尝试这种方式。

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

    self.view.endEditing(true)
}

这段代码,你不需要添加 UITapGestureRecognizer

您可以选择此选项之一。

官方微信
官方QQ群
31647020