ios - 单击文本字段以从 DatePickerDialog 获取日期时键盘卡住

标签 ios swift swift3 swift2

我正在使用 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 文本字段时,会出现键盘,这很好。

when click on trainer-1 textfield

2)当点击时间文本字段时获取日期选择器

when click on time textField

我只是希望当单击时间文本字段以获取 DatePicker 时键盘消失。

谢谢。

最佳答案

你可以尝试如下..

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    //print("While entering the characters this method gets called")

    if(textField == timeTextField){
        return false;
    }

    return true;
}

 func textFieldShouldReturn(_ textField: UITextField) -> Bool {

    textField.resignFirstResponder()
    return true
}

关于ios - 单击文本字段以从 DatePickerDialog 获取日期时键盘卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46560800/

相关文章:

objective-c - 自定义tableView : Corner radius, 减少宽度和阴影

swift - 为什么使用便捷初始化程序可以解决我的问题?

swift - Firebase 上传图片

swift3 - 在 Swift Spritekit 中,每当我从一个场景转换到另一个场景时,我的 sks 文件没有传输?

ios - 我可以打电话 - (void)touchesBegan :(NSSet *)touches withEvent:(UIEvent *)event on subview

从机架空间获取文件时,IOS AFNetworking over 3G 不可靠

ios - 在 Swift 中向数组添加元素

ios - 如何更改参数以接受 swift 3 中的变量?

objective-c - 内存泄漏?还是乐器有毛病?

ios - 在 Swift 中使用 Alamofire 进行调用时出现额外参数 'method'