Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当用户与日期选择器交互时隐藏键盘_Ios_Swift_Uitextfield_Uitextview_Uidatepicker - Fatal编程技术网

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

Ios 当用户与日期选择器交互时隐藏键盘,ios,swift,uitextfield,uitextview,uidatepicker,Ios,Swift,Uitextfield,Uitextview,Uidatepicker,我有一个文本字段和一个日期选择器。我想在uitextview中输入文本,但一旦用户与日期选择器交互,我想隐藏键盘。我做了三件事: 1) 将点击手势识别器添加到rootcontroller的view对象,该对象调用运行self.view.endEditing(true)的方法。这仅在用户与textview和datepicker之外的任何内容交互时隐藏键盘 2) 我已经尝试创建一个iAction用于触地,然后运行self.view.endEditing(true)。这不管用 3) 我还尝试在日期选择

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

1) 将点击手势识别器添加到rootcontroller的view对象,该对象调用运行
self.view.endEditing(true)
的方法。这仅在用户与textview和datepicker之外的任何内容交互时隐藏键盘

2) 我已经尝试创建一个iAction用于触地,然后运行
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)
        } 
    }
}
override func touchsbegind(touch:Set,带有事件:UIEvent?){
如果让触摸=先触摸{
如果self.datePicker.frame.contains(touch.location(在:视图中))包含{
self.view.endEditing(true)
} 
}
}