如何通过按返回键隐藏键盘
答案 0 :(得分:4)
您需要记住几件事。开发人员忘记设置的#1部分是textField的委托。
如果您使用的是Interface Builder,则必须记住需要将textField的委托设置为文件所有者。
alt text http://www.thoughtblog.com/imgs/delegate.png
如果您不使用Interface Builder,请确保将textfield的委托设置为self。我还包括returnType。例如,如果textField名为gameField:
gameField.delegate = self;
gameField.returnType = UIReturnKeyDone;
您还必须为ViewController实现 UITextFieldDelegate 。
@interface YourViewController : UIViewController <UITextFieldDelegate>
最后,您需要使用 textFieldShouldReturn 方法并调用 [textField resignFirstResponder]
-(BOOL) textFieldShouldReturn:(UITextField*) textField {
[textField resignFirstResponder];
return YES;
}
所有textField都将使用相同的方法,因此您只需要进行一次此设置。只要为textField设置了委托,就为接口实现了UITextFieldDelegate,你可以添加textFieldShouldReturn方法并调用 resignFirstResponder你的设置。
答案 1 :(得分:2)
只有当可编辑的内容(通常是UITextField)成为第一个响应者时,键盘才会显示。因此,要使键盘消失,您必须使textField不再是第一个响应者。幸运的是,这是一行代码:
[myTextField resignFirstResponder];
答案 2 :(得分:2)
您确实需要在问题中包含更多信息,但我认为这可能就是您要找的内容:
首先,让你的视图控制器实现UITextFieldDelegate:
@interface MainViewController : UIViewController <UITextFieldDelegate> {
然后将此方法添加到控制器:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
阅读UITextFieldDelegate documentation,了解您还可以做些什么。
答案 3 :(得分:0)
使用以下两种方法:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
activeTextField = textField;
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
activeTextField = nil;
[txtPassword resignFirstResponder];
[txtUserName resignFirstResponder];
return YES;
}
请确保您已为每个文本字段提供代表。为此,你应该去看看。右键点击 。设置委托以查看。