ppr*_*lon 21 uitextfielddelegate swift
我想使用第一响应者辞职uitextfield.我可以通过放入uitextfields一个数组来完成这个,但我想避免使用该数组.辞职应该发生在所有类型的uiTextField上,如何做到这一点.
这很好用
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var text: UITextField!
@IBOutlet weak var textFieldtwo: UITextField!
var textField = [UITextField]()
override func viewDidLoad() {
super.viewDidLoad()
self.textField = [text,textFieldtwo]
for item in textField {
item.delegate = self
}
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
print("text")
for item in textField {
item.resignFirstResponder()
}
}
}
Run Code Online (Sandbox Code Playgroud)
Hja*_*mar 26
或者只是使用更全球化的方法.(Swift 3.0)
UIApplication.shared.sendAction(#selector(UIApplication.resignFirstResponder), to: nil, from: nil, for: nil);
Run Code Online (Sandbox Code Playgroud)
当它辞职当前的第一响应者时,这将关闭任何活动字段.祝你好运!
Khu*_*ong 21
你可以试试这个:
for textField in self.view.subviews where textField is UITextField {
textField.resignFirstResponder()
}
Run Code Online (Sandbox Code Playgroud)
但是,如果你只是想取消键盘按return上keyboard或屏幕上的任何地方攻不使用touchesBegan
你可以尝试这个:
// For pressing return on the keyboard to dismiss keyboard
func textFieldShouldReturn(textField: UITextField) -> Bool {
for textField in self.view.subviews where textField is UITextField {
textField.resignFirstResponder()
}
return true
}
Run Code Online (Sandbox Code Playgroud)
...
func hideKeyboard() {
view.endEditing(true)
}
Run Code Online (Sandbox Code Playgroud)
并将此添加到您的viewDidLoad:
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(hideKeyboard))
view.addGestureRecognizer(tapGesture)
Run Code Online (Sandbox Code Playgroud)
Ahm*_*ale 18
一种更简单的方法是通过以下方式结束对包含UITextFields的UIView的编辑:
view.endEditing(true)
Run Code Online (Sandbox Code Playgroud)
现在在 Swift 3 中,最简单的方法是
方法 1: 在按下 'return' 键时调用。
func textFieldShouldReturn(_ textField: UITextField) -> Bool
{
textField1.resignFirstResponder()
textField2.resignFirstResponder()
return true;
}
Run Code Online (Sandbox Code Playgroud)
方法 2: 在按下 'return' 键时调用。
func textFieldShouldReturn(_ textField: UITextField) -> Bool
{
self.view.endEditing(true)
return true;
}
Run Code Online (Sandbox Code Playgroud)
方法 3:全局方法写入视图确实加载
self.view.addGestureRecognizer(UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing(_:))))
Run Code Online (Sandbox Code Playgroud)
注意:不要忘记添加这个。否则它不起作用。
UIGestureRecognizerDelegate, UITextFieldDelegate
Run Code Online (Sandbox Code Playgroud)
我希望它对你有用:)