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

时间:2009-05-05 03:43:51

标签: iphone keyboard simulator

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

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

4 个答案:

答案 0 :(得分:19)

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

- (BOOL)textFieldShouldReturn:(UITextField *)textField

您可以在其中拨打[textField resignFirstResponder]

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

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

答案 1 :(得分:16)

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

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

@interface ViewController : UIViewController <UITextFieldDelegate> {
    }
2.在viewController中。 m 调用此方法:     
<UITextFieldDelegate>
3.然后编写如下代码:     
- (BOOL)textFieldShouldReturn:(UITextField *)textField
4.最后一步是设置textField的委托:     
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES;
    }

答案 2 :(得分:5)

按下返回按钮时,会调用代理中的

- (BOOL)textFieldShouldReturn:(UITextField *)textField

您想致电[textField resignFirstResponder],然后返回YES。这应该够了吧。还要确保委托已设置。如有疑问,请添加断点或NSLog并验证。

答案 3 :(得分:0)

您可以简单地键入以下内容:

textfield.endEditing(true)

textfield是您的UITextField的名称。