Swift - 点击输入框外部屏幕关闭虚拟键盘

时间:2023-05-19 13:47:20
我们如果把文本框的Return Key设置成Done,然后在storyboard中将文本框的Did End On Exit事件在代码里进行关联。同时关联代码里调用文本框的resignFirstResponder()方法。就可以实现用户点击键盘return key时就关闭虚拟键盘。
如果要实现当用户点击文本框之外的舞台屏幕时也能关闭虚拟键盘。这时就要让屏幕的背景响应Touch Down事件。
(1)由于背景是UIView控件,不能直接拖拽关联Touch事件。首先要让背景变成UIControl控件。
点击右上角的Show the identity inspector图标,设置Custom Class的Class为UIControl就可以事件关联了。
Swift - 点击输入框外部屏幕关闭虚拟键盘
(2)拖动背景到代码中,关联Touch Up Inside事件
Swift - 点击输入框外部屏幕关闭虚拟键盘
(3)在背景点击事件中,关闭虚拟键盘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import UIKit
class ViewController: UIViewController {
    @IBOutlet weak var tf: UITextField!
     
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    @IBAction func viewClick(sender: AnyObject) {
        tf.resignFirstResponder()
    }
     
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}