当我按下UITextField中的返回键时如何隐藏键盘?
点击文本框会显示键盘。 当用户按下返回键时如何隐藏它?
首先让你的文件委托给UITextField,然后把这个方法添加到你的代码中。
-(BOOL) textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder]; return YES; }
在viewDidLoad
声明:
[yourTextField setDelegate:self];
然后,包含委托方法的覆盖:
-(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; }
在迅速做这样的事情:
首先在您的ViewController
实现这个UITextFieldDelegate
例如。
class MyViewController: UIViewController, UITextFieldDelegate { .... }
现在,将一个代理添加到TextField
中,当您想要在如下所示的viewDidLoad
方法或者初始化它的位置点击返回时解除键盘。 例如。
override func viewDidLoad() { super.viewDidLoad() myTextField.delegate = self }
现在添加这个方法。
func textFieldShouldReturn(textField: UITextField) -> Bool { textField.resignFirstResponder() return true }
在Swift中试试这个,
第1步:将textField
设置为自己的textField
textField.delegate = self
第2步:在你的类声明下添加这个UITextFieldDelegate,
extension YourClassName: UITextFieldDelegate{ func textFieldShouldReturn(textField: UITextField) -> Bool { textField.resignFirstResponder() return true }}
设置UITextField
委托,并在该方法中使用textFieldShouldReturn
方法,只写下面两行:
[textField resignFirstResponder]; return YES;
而已。 在编写代码之前,不要忘记设置UITextField
委托,并将属性窗口中的返回键types设置为“完成”(command + shift + I)。
尝试这个,
[textField setDelegate:self];
然后,在textField委托方法中
-(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; }
[textField resignFirstResponder];
用这个
你可以用IBAction连接“触发的主要动作”(右键单击UITextField),你可以退出第一个响应者(没有委托)。 示例(Swift 4):
@IBAction func textFieldPrimaryAction(_ sender: UITextField) { sender.resignFirstResponder() ... }