我正在使用DatePickerDialog库在单击时间文本字段时获取日期选择器。但是,当我单击时间文本字段上方的Trainer-2文本字段时,键盘出现,这很好,但当我单击时间文本字段时,键盘没有消失,日期选择器出现在它后面,因此页面卡住。
下面是代码。
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == timeTextField {
self.view.endEditing(true)
self.getTime(textField: textField)
}
}
func getTime(textField: UITextField) {
DispatchQueue.main.async {
DatePickerDialog().show(title: "DatePicker", doneButtonTitle: "Done", cancelButtonTitle: "Cancel", datePickerMode: .time) {
(time) -> Void in
guard let date_time = time else { return }
}
}
以下是图片。
1)点击Trainer-1文本字段时,键盘出现,这是正常的。
2)当单击时间文本字段以获取datePicker时
我只是希望键盘消失时,点击时间文本字段,以获得他的日期选择器。
- 谢谢-谢谢
4条答案
按热度按时间goucqfw61#
你可以试着像...
lawou6xi2#
使用这个当您点击timeTextField时,键盘会消失
取而代之
rjzwgtxy3#
如果您不想在触摸
timeTextField
后显示键盘,您可以在textFieldDidBeginEditing
中立即关闭它:n6lpvg4x4#
在viewDidload中使用此选项,将日期选择器设置为该文本字段的输入视图
override func viewDidLoad() { timeTextField.inputView = objDataPicker }