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

我们如果把文本框的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就可以事件关联了。

(2)拖动背景到代码中,关联Touch Up Inside事件

(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 viewClick(sender: AnyObject ) {
tf.resignFirstResponder()
}
didReceiveMemoryWarning() {
.didReceiveMemoryWarning()
}
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...