Ios 轻触文本字段时关闭键盘
我有一个可以编辑的文本字段。在这个文本字段下面,我有另一个文本字段,点击它我会转到另一个屏幕 当我点击第一个文本字段时,键盘就会出现。但当我点击第二个文本字段时,键盘仍然保留(可能是因为它也是一个文本字段)。但我希望键盘在我点击第二个文本字段时关闭Ios 轻触文本字段时关闭键盘,ios,swift,iqkeyboardmanager,Ios,Swift,Iqkeyboardmanager,我有一个可以编辑的文本字段。在这个文本字段下面,我有另一个文本字段,点击它我会转到另一个屏幕 当我点击第一个文本字段时,键盘就会出现。但当我点击第二个文本字段时,键盘仍然保留(可能是因为它也是一个文本字段)。但我希望键盘在我点击第二个文本字段时关闭 func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { view.endEditing(true) //with will end editing for
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
}
我正在使用IQKeyboardManager
这就是我所拥有的…但它不起作用
@IBAction func secondTextfield_Clicked(_ sender: Any) {
(sender as! UITextField).resignFirstResponder()
self.performSegue(withIdentifier: "mySegue", sender: nil)
}
首先,您需要将委托设置为第二个文本字段,并实现
textFieldShouldBeginEditing
delegate方法
secondTextField.delegate = self
在下面的委托方法中,您可以检查textfield并根据您的textfield返回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
}
如果第二个文本字段返回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
}