如何让键盘在iphone模拟器中消失

stu*_*stu 20 iphone keyboard simulator

我的iphone应用程序中有一个文本输入框,当你在模拟器中触摸它时,键盘会弹出.但是没有办法摆脱它.其他网页提供解决方案,但没有解释为什么它们应该工作,而且它们不适合我.有人说让文本框的委托你的uiview然后在对象上调用resignfirstresponder,但它永远不会被调用.有什么建议?任何人都可以解释实际发生了什么吗?如果我知道设计范例是什么,我可以自己弄清楚...

也许我应该只是放一个"go"按钮,这样我就可以把重点放在文本区域了?

Mar*_*don 19

一种方法是将对象设置为文本字段的委托并实现

- (BOOL)textFieldShouldReturn:(UITextField *)textField
Run Code Online (Sandbox Code Playgroud)

你打电话给谁 [textField resignFirstResponder]

这将导致键盘在按下返回/执行/完成按钮时消失(无论您设置右下键盘键是什么).

有关详细信息,请参阅UITextFieldDelegate参考.

  • 我有点恼火,默认情况下没有设置. (5认同)

mat*_*odv 16

要关闭键盘,您可以使用TextField Delegate.

要使用它,请按照以下步骤操作...
1.在viewController中.h添加委托声明如下:

@interface ViewController : UIViewController <UITextFieldDelegate> {
    }
Run Code Online (Sandbox Code Playgroud) 2.在viewController中.叫这个方法:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
Run Code Online (Sandbox Code Playgroud) 3.然后编写如下代码:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES;
    }
Run Code Online (Sandbox Code Playgroud) 4.最后一步是设置textField的委托:
- (void)viewDidLoad {
        [super viewDidLoad];
        self.textField.delegate = self;
    }
Run Code Online (Sandbox Code Playgroud)


fre*_*ace 5

- (BOOL)textFieldShouldReturn:(UITextField *)textField 在按下返回按钮时调用您的委托.

你想打电话[textField resignFirstResponder]然后回来YES.这应该够了吧.还要确保委托已设置.如有疑问,请添加断点或NSLog验证.