当前位置: 首页 > 面试题库 >

使用Swift触摸任意位置以关闭iOS键盘

宇文俊明
2023-03-14
问题内容

我一直在寻找这个,但是我似乎找不到。我知道如何使用来关闭键盘,Objective-C但是我不知道如何使用Swift?有人知道吗?


问题答案:
override func viewDidLoad() {
    super.viewDidLoad()

    //Looks for single or multiple taps. 
    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")

    //Uncomment the line below if you want the tap not not interfere and cancel other interactions.
    //tap.cancelsTouchesInView = false

    view.addGestureRecognizer(tap)
}

//Calls this function when the tap is recognized.
@objc func dismissKeyboard() {
    //Causes the view (or one of its embedded text fields) to resign the first responder status.
    view.endEditing(true)
}

如果要多次使用此功能,这是另一种执行此任务的方法UIViewControllers

// Put this piece of code anywhere you like
extension UIViewController {
    func hideKeyboardWhenTappedAround() {
        let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
        tap.cancelsTouchesInView = false            
        view.addGestureRecognizer(tap)
    }

    @objc func dismissKeyboard() {
        view.endEditing(true)
    }
}

现在在每个中UIViewController,您所需要做的就是调用此函数:

override func viewDidLoad() {
    super.viewDidLoad()
    self.hideKeyboardWhenTappedAround() 
}

此功能作为标准功能包含在我的存储库中,其中包含许多类似这样的有用的Swift扩展,请查看:https
:
//github.com/goktugyil/EZSwiftExtensions



 类似资料:
  • 我一直在到处找这个,但似乎找不到。我知道如何消除键盘使用,但我不知道如何使用?有人知道吗?

  • 对于jfeinstein10(https://github.com/jfeinstein10/slidingmenu),我可以在应用中的任何地方滑动以滑动打开菜单。 用户可以通过从屏幕左边缘滑动或通过触摸操作栏上的应用图标将导航抽屉带到屏幕上。

  • 问题内容: 我是这里的新用户,但是我已经使用stackoverflow很多次了:)…我是android开发人员,但是现在我正在使用swift在ios应用程序中工作。我对使用xcode完全陌生,也许我的问题在很多方面都很简单…太好了,我真的需要帮助。我正在尝试实现一个背景任务,该任务每十分钟更新一次用户位置。我需要获取经纬度数据,并将此信息发送到API网络服务。我一直在介绍backgroud文档,所

  • 本文向大家介绍iOS 关闭键盘,包括了iOS 关闭键盘的使用技巧和注意事项,需要的朋友参考一下 示例 迅速 Ctrl +从MainStoryboard中的UItextfield拖动到ViewController类,然后创建一个UITextField出口 之后,再次选择UItextField并在ViewController类中按Ctrl +拖动,但是这次选择“动作”连接,然后在存储上选择“退出时结束

  • 问题内容: 这是很常见的事情,例如,如果您在此处单击stackoverflow上的收件箱。我会打电话给那个对话框或任何被打开的 东西 。 现在我知道有两种方法可以解决这个问题, 你创建一个无形的覆盖,但只有用户打开该元素具有更大的zIndex以及您关闭 的事情 上叠加通过点击 点击文档事件,而你检查在点击你是否点击你的事还是境外,在这种情况下,你闭上你 的事 。 无论哪种情况,我都希望使用添加/删

  • 触摸开关可以连接导电的物品,将它变成触摸开关。通过检测四色鳄鱼夹和地线的导通状态,能实现简单有趣的人机交互。 净重量:28.8g 体积:24×48×14mm 参数 触发电阻范围:<24MΩ 夹子大小:35mm 工作电压:DC 5V 抗跌落能力:1.5m 工作温度:-10℃~55℃ 工作湿度:<95% 特点 16种的输入组合 与其他模块丰富的离线互动效果 多样化的触发方式 定制化平口鳄鱼夹,大幅度减