如何按回车键隐藏键盘
4 回答
您需要记住几件事。开发人员忘记设置的编号 #1 部分是 textField 的委托。
如果您使用 Interface Builder,您必须记住您需要将 textField 的委托设置为文件 Owner。
替代文字 http://www.thoughtblog.com/imgs/delegate.png
如果您没有使用 Interface Builder,请确保将文本字段的委托设置为 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 设置了委托,为接口实现 UITextFieldDelegate,您添加 textFieldShouldReturn 方法并调用您设置的 resignFirstResponder。
您确实需要在您的问题中包含更多信息,但我认为这可能是您正在寻找的内容:
首先,让您的视图控制器实现 UITextFieldDelegate:
@interface MainViewController : UIViewController <UITextFieldDelegate> {
然后将此方法添加到控制器:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
阅读UITextFieldDelegate 文档,看看你还能做什么。
只有当可编辑的东西(通常是 UITextField)成为第一响应者时,键盘才会出现。因此,要使键盘消失,您必须使 textField 不再是 firstResponder。幸运的是,这是一行代码:
[myTextField resignFirstResponder];
使用这两种方法:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
activeTextField = textField;
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
activeTextField = nil;
[txtPassword resignFirstResponder];
[txtUserName resignFirstResponder];
return YES;
}
请确保您已为每个文本字段分配了代表。为此,您应该去看风景。右键点击 。将委托设置为查看。