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

时间:2018-11-23 21:30:30

标签: ios swift uitextfield uitextview uidatepicker

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

1)在根控制器的视图对象中添加轻击手势识别器,该对象调用运行self.view.endEditing(true)的方法。仅当用户与textview和datepicker之外的任何内容交互时,这才隐藏键盘。

2)我尝试创建一个IBAction进行降落,然后运行self.view.endEditing(true)。这行不通。

3)我也尝试过在日期选择器中添加一个轻击手势识别器,但是没有被调用。

有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试

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)
        } 
    }
}