ios - 当用户与日期选择器交互时隐藏键盘

标签 ios swift uitextfield uitextview uidatepicker

我有一个文本字段和一个日期选择器。我想在 uitextview 中输入文本,但是一旦用户与日期选择器交互,我就想隐藏键盘。我做了三件事:

1) 将点击手势识别器添加到调用运行self.view.endEditing(true) 的方法的rootcontroller 的 View 对象。只有当用户与 TextView 和日期选择器之外的任何内容交互时,这才会隐藏键盘。

2) 我已经尝试为着陆创建一个 IBAction,然后运行 ​​self.view.endEditing(true)。这是行不通的。

3) 我也试过向日期选择器添加轻击手势识别器,但它没有被调用。

有什么建议吗?谢谢。

最佳答案

你可以试试

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    if let touch = touches.first {
        if self.datePicker.frame.contains(touch.location(in: view)) {
          self.view.endEditing(true)
        } 
    }
}

关于ios - 当用户与日期选择器交互时隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53453136/

相关文章:

iOS 共享扩展不起作用

iphone - 使用开始时间和持续时间计算结束时间-iOS

swift - watchOS 2 中的共享 NSUserDefaults 和应用程序组之类的东西?

iphone - 如何构建 iOS SQL 语句

ios - UITextField 货币格式从左到右

iphone - 创建 pin 码对话

ios - 一次关闭 2 个 View Controller

ios - 替换 NSAttributedString 上的字符时发生崩溃

ios - UIToolBar 栏按钮项目不使用 Swift 显示

ios - 使用 AVCaptureSession 录制视频