来自IQKeyboardManager的完成按钮操作无法在Swift中工作

时间:2018-05-31 10:23:49

标签: ios iphone swift keyboard iqkeyboardmanager

我们正在将IQKeyboardManager库用于Swift项目。它的工作正常,但是,点击“完成”按钮后它没有调用方法。

 override func viewDidLoad() {
        super.viewDidLoad()
        self.myTextField.delegate = self
        self.myTextField.keyboardToolbar.doneBarButton.setTarget(self, action: #selector(doneButtonClicked))
}

 @objc func doneButtonClicked(_ sender: Any) {
        //your code when clicked on done

    }

库版本是

  

pod'IQKeyboardManagerSwift','6.0.2'

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

我猜你应该这样写选择器。 这可能有所帮助。

self.myTextField.keyboardToolbar.doneBarButton.setTarget(self, action: #selector(self.doneButtonClicked(_:)))

谢谢。

答案 1 :(得分:1)

这是IQKeyboardManagerSwift版本6.0.2

中的问题

Fixed issue

您可以使用UITextFieldDelegate

   func textFieldDidEndEditing(_ textField: UITextField) {

        print("done click ")
 }

或更新IQKeyboardManagerSwift 6.0.3

  

pod'IQKeyboardManagerSwift','6.0.3'

答案 2 :(得分:0)

// Don't set button for keyboardToolbar. Set button direct to textfield.
    self.myTextField.doneBarButton.setTarget(self, action: #selector(self.doneButtonClicked(_:)))