Swift - 点击输入框外部屏幕关闭虚拟键盘
我们如果把文本框的Return Key设置成Done,然后在storyboard中将文本框的Did End On Exit事件在代码里进行关联。同时关联代码里调用文本框的resignFirstResponder()方法。就可以实现用户点击键盘return key时就关闭虚拟键盘。
![](http://www.hangge.com/blog_uploads/201504/2015041509532896399.png)
![](http://www.hangge.com/blog_uploads/201504/2015041509534426417.png)
如果要实现当用户点击文本框之外的舞台屏幕时也能关闭虚拟键盘。这时就要让屏幕的背景响应Touch Down事件。
(1)由于背景是UIView控件,不能直接拖拽关联Touch事件。首先要让背景变成UIControl控件。
点击右上角的Show the identity inspector图标,设置Custom Class的Class为UIControl就可以事件关联了。
![](http://www.hangge.com/blog_uploads/201504/2015041509532896399.png)
(2)拖动背景到代码中,关联Touch Up Inside事件
![](http://www.hangge.com/blog_uploads/201504/2015041509534426417.png)
(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() } } |