【问题标题】:resignFirstResponder and endEditing (even global calls) are not hiding the keyboardresignFirstResponder 和 endEditing(甚至是全局调用)没有隐藏键盘
【发布时间】:2015-12-28 12:01:30
【问题描述】:

我将ViewController 设置为UITextField 的代表。无论我怎么尝试,调用textFieldShouldReturn时都无法隐藏键盘。

我的viewDidLoad 方法:

override func viewDidLoad() {
    super.viewDidLoad()
    self.view.addSubview(newModelField)
    newModelField.delegate = self
    self.presetTableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "presetCell")
    //self.view.becomeFirstResponder()
}

还有我的textFieldShouldReturn 方法:

func textFieldShouldReturn(textField: UITextField) -> Bool {

    //UIApplication.sharedApplication().sendAction("resignFirstResponder", to:nil, from:nil, forEvent:nil)
    if(textField.text! != ""){
        items.append(textField.text!)
        presetTableView.reloadData()
        textField.text! = ""
        //self.view.resignFirstResponder()
        //self.addView.resignFirstResponder()
        //textField.endEditing(true)
        //self.view.endEditing(true)
        UIApplication.sharedApplication().delegate?.window?!.endEditing(true)
        return false
    }
    return true
}

您可以从我注释掉的尝试中看到我已经尝试了很多不同的修复。我知道textFieldShouldReturn 在使用打印语句进行调试后被调用。我不知道为什么键盘不会隐藏。

我尝试交换 return true 和 false 语句。我尝试从情节提要中设置委托。我尝试从情节提要中删除 textField,清理并重新添加它。我尝试了对 resignFirstResponderendEditing 的所有顶级调用,以及对文本字段和视图的这些函数的调用。

【问题讨论】:

  • 我通过在两个函数 textFieldShouldEndEditing 和 textFieldShouldReturn 中调用 self.view.endEditing(true) 解决了这个问题。不知道为什么,但这似乎是唯一可行的方法。

标签: ios swift uiviewcontroller keyboard uitextfield


【解决方案1】:

要关闭键盘,请将 resignFirstResponder 消息发送到当前是第一响应者的文本 > 字段。这样做会导致文本 >field 对象结束当前编辑会话(在委托 >object 的同意下)并隐藏键盘。

yourTextField.resignFirstResponder()

【讨论】:

    【解决方案2】:

    我尝试在 textFiled 上使用 resignFirstResponder() 并在我的视图上使用 endEditing(true) 但我在实现另一个委托时犯了一个小错误并返回 false

        func textFieldShouldEndEditing(textField: UITextField) -> Bool {  //delegate method
        return true
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多