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

本文介绍如何在iOS应用中通过设置ReturnKey为Done并利用UITextField的DidEndOnExit事件来关闭虚拟键盘的方法。此外还介绍了如何让用户点击屏幕任意位置时也能关闭键盘:通过将屏幕背景设为UIControl,并关联TouchUpInside事件,从而实现点击背景即可关闭键盘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们如果把文本框的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 func viewClick(sender: AnyObject) {
        tf.resignFirstResponder()
    }
     
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值