0

如何按回车键隐藏键盘

4

4 回答 4

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。

于 2009-07-26T18:17:42.907 回答
2

您确实需要在您的问题中包含更多信息,但我认为这可能是您正在寻找的内容:

首先,让您的视图控制器实现 UITextFieldDelegate:

@interface MainViewController : UIViewController <UITextFieldDelegate> {

然后将此方法添加到控制器:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder]; 
    return YES;
}

阅读UITextFieldDelegate 文档,看看你还能做什么。

于 2009-07-24T15:18:05.820 回答
2

只有当可编辑的东西(通常是 UITextField)成为第一响应者时,键盘才会出现。因此,要使键盘消失,您必须使 textField 不再是 firstResponder。幸运的是,这是一行代码:

[myTextField resignFirstResponder];
于 2009-07-24T14:15:56.593 回答
0

使用这两种方法:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
        activeTextField = textField;   
        return YES;
  }

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
        activeTextField = nil; 
        [txtPassword resignFirstResponder];
        [txtUserName resignFirstResponder];
        return YES;
  }

请确保您已为每个文本字段分配了代表。为此,您应该去看风景。右键点击 。将委托设置为查看。

于 2012-03-01T07:33:09.310 回答