Ios 无法从UITextField辞职FirstResponder
你知道(你能明白)为什么我不能辞去FirstResponder的职务并隐藏键盘吗 供参考:Xcode 9Ios 无法从UITextField辞职FirstResponder,ios,Ios,你知道(你能明白)为什么我不能辞去FirstResponder的职务并隐藏键盘吗 供参考:Xcode 9 import UIKit class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet weak var label: UILabel! @IBOutlet weak var text: UITextField! override func viewDidLoad() {
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var text: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
self.text.delegate = self
let tap = UITapGestureRecognizer(target: self, action: #selector(ViewController.tapFunction))
label.isUserInteractionEnabled = true
label.addGestureRecognizer(tap)
}
var keyboardInputEnabled = true
@objc func tapFunction(sender:UITapGestureRecognizer) {
if self.keyboardInputEnabled {
self.text.becomeFirstResponder()
}else{
self.view.endEditing(true)
self.text.resignFirstResponder()
}
self.keyboardInputEnabled = !self.keyboardInputEnabled
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
return self.keyboardInputEnabled
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
return self.keyboardInputEnabled
}
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
return self.keyboardInputEnabled
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
试一试
self.view.endEditing(true)
用于禁用键盘
self.view.endEditing(true)
用于禁用键盘,因为在第二次运行tapFunction
时,textfield应该取消编辑
返回false,从而阻止其结束编辑模式
取自
通常,您会从该方法返回true以允许文本
字段以退出第一响应者状态。您可能返回false,
但是,如果您的委托在
文本字段。返回false可防止用户切换到
另一个控件,直到文本字段包含有效值
因为第二次运行
tapFunction
时,textfield应该取消编辑
返回false,这会阻止它结束编辑模式
取自
通常,您会从该方法返回true以允许文本
字段以退出第一响应者状态。您可能返回false,
但是,如果您的委托在
文本字段。返回false可防止用户切换到
另一个控件,直到文本字段包含有效值