ios - 隐藏键盘 IOS Swift

标签 ios swift uiviewcontroller uitextfield uitextfielddelegate

我遇到以下问题:

我有两个 TextField,一个具有默认行为,另一个捕获 textFieldDidBeginEditing 方法委托(delegate),以呈现具有PresentationStyle(自定义)和 TransitionStyle(CrossDissolve)的 UIViewController。到目前为止一切正常。但是,如果我编辑第一个文本字段(并保持键盘打开),然后转到第二个文本字段,则键盘打开,我无法关闭它(就好像第一个文本字段失去焦点一样,甚至在以下情况下也不会调用 textFieldShouldReturn我按下按钮简介)。

我尝试过:

  • TextFieldDidEndEditing(用于调用resignFirstResponder)
  • 在viewWillDissaper方法中(我也称为resignFirstResponder)

    func textFieldShouldReturn(textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }
    
    func textFieldDidEndEditing(textField: UITextField) {
        print("Resign Last TextField")
        textField.resignFirstResponder()
    }
    
    func textFieldDidBeginEditing(textField: UITextField) {
        print("Did Begin editing")
        if textField == self.departing || textField == self.returning{
            textField.resignFirstResponder()
            self.lastTextFieldSelected = textField
    
            let datePickerViewController = Util.getViewController("DatePickerViewController") as! DatePickerViewController
            datePickerViewController.dateStyle = NSDateFormatterStyle.ShortStyle
            datePickerViewController.modalTransitionStyle = UIModalTransitionStyle.CrossDissolve
            datePickerViewController.modalPresentationStyle = UIModalPresentationStyle.Custom
            datePickerViewController.datePickerDelegate = self
    
            self.presentViewController(datePickerViewController, animated: true, completion: nil)
        }
    }
    

编辑: 我尝试使用 self.view.endEditing(true) 什么都不做。

我做了一个小例子(我检查的是 textFieldShouldBeginEditing 允许我关闭键盘。): https://github.com/Abreu0101/TextFieldBug

最佳答案

看起来您的 textFieldDidEndEditing 和其他方法甚至没有被调用。确保设置 UITextField 的委托(delegate):

textField.delegate = self

同时在您的类中导入 UITextFielDelegate

希望有帮助:)

关于ios - 隐藏键盘 IOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35485846/

相关文章:

ios - 创建修改UIButton的方法时出错

ios - didRangeBeacons 一次只返回一个 iBeacons

ios - 控制 collectionView 从 collectionView Cell 中滚动

iphone - 是否可以在 ModalPopup 中创建 UINavigationController?

objective-c - 几个 UIViewController 和 OpenGLView (Cocos2D) 之上的透明 UITableView

ios - 加载 WebView 时 Swift 中的 EXC_BAD_INSTRUCTION

iOS - 在 AFNetworking 异步图像下载线程完成后重新加载 UITableView

ios - 是否可以将 String 转换为 simd_float4x4 ? ( iOS 12 )

swift - 如何检查日期是否为零?

iOS 快速 : Deint a child ViewController