在点击文本字段时关闭键盘
Dismiss keyboard on tapping textfield
我有一个可以编辑的文本框。在这个文本字段下方,我有另一个文本字段,点击它我会转到另一个屏幕。
当我点击第一个文本字段时,键盘出现。但是当我点击第二个文本字段时,键盘仍然存在(可能是因为它也是一个文本字段)。但我希望键盘在我点击第二个文本字段时关闭。
我正在使用 IQKeyboardManager
。
这就是我的..但它不起作用...
@IBAction func secondTextfield_Clicked(_ sender: Any) {
(sender as! UITextField).resignFirstResponder()
self.performSegue(withIdentifier: "mySegue", sender: nil)
}
首先,您需要将委托设置为第二个文本字段并实施 textFieldShouldBeginEditing
委托方法。
secondTextField.delegate = self
在下面的委托方法中,您可以根据您的文本字段检查文本字段和 return true/false。
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
view.endEditing(true) //with will end editing for the view
if textField == secondTextField {
self.performSegue(withIdentifier: "mySegue", sender: nil)
return false
}
return true
}
通过 return 将第二个文本字段设置为 false,将不会为第二个文本字段打开键盘。
首先你为什么要使用文本框去另一个页面?
你为什么不直接使用按钮
第二件事,如果你愿意,你可以这样做:
override func viewDidLoad() {
super.viewDidLoad()
...
secondTF.delegate = self
...
}
并在您的代码中的任意位置调用此函数:
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
view.endEditing(true)
if textField == secondTF {
// Navigate to the second VC with using storyBoard or navigationController
return false
}
return true
}
我有一个可以编辑的文本框。在这个文本字段下方,我有另一个文本字段,点击它我会转到另一个屏幕。
当我点击第一个文本字段时,键盘出现。但是当我点击第二个文本字段时,键盘仍然存在(可能是因为它也是一个文本字段)。但我希望键盘在我点击第二个文本字段时关闭。
我正在使用 IQKeyboardManager
。
这就是我的..但它不起作用...
@IBAction func secondTextfield_Clicked(_ sender: Any) {
(sender as! UITextField).resignFirstResponder()
self.performSegue(withIdentifier: "mySegue", sender: nil)
}
首先,您需要将委托设置为第二个文本字段并实施 textFieldShouldBeginEditing
委托方法。
secondTextField.delegate = self
在下面的委托方法中,您可以根据您的文本字段检查文本字段和 return true/false。
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
view.endEditing(true) //with will end editing for the view
if textField == secondTextField {
self.performSegue(withIdentifier: "mySegue", sender: nil)
return false
}
return true
}
通过 return 将第二个文本字段设置为 false,将不会为第二个文本字段打开键盘。
首先你为什么要使用文本框去另一个页面? 你为什么不直接使用按钮 第二件事,如果你愿意,你可以这样做:
override func viewDidLoad() {
super.viewDidLoad()
...
secondTF.delegate = self
...
}
并在您的代码中的任意位置调用此函数:
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
view.endEditing(true)
if textField == secondTF {
// Navigate to the second VC with using storyBoard or navigationController
return false
}
return true
}