我正在创建我在下面显示的iPhone应用程序。
在屏幕的最后我有文字字段。我为此添加了一个代表。因为它是数字键盘,所以我单独添加了按钮,这样当点击按钮时,键盘就会被隐藏。
以下是我的代码:
@interface SearchViewController : UIViewController<UITextFieldDelegate>
@property (retain, nonatomic) IBOutlet UITextField *textField006;
@property (retain, nonatomic) IBOutlet UIButton *doneButton;
- (IBAction)doneAction:(id)sender;
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
NSLog(@"textFieldShouldReturn");
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"textFieldDidBeginEditing");
// Ensure the relevant text field is visible
CGAffineTransform translation = CGAffineTransformIdentity;
CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
CGFloat screenHeight = screenSize.height;
if (screenHeight==480 || screenHeight==568) {
translation = CGAffineTransformMakeTranslation(0, -120);
doneButton.hidden = NO;
NSLog(@"line 3");
[UIView beginAnimations:nil context:nil];
self.view.transform = translation;
[UIView commitAnimations];
}
}
- (IBAction)doneAction:(id)sender {
doneButton.hidden = NO;
doneButton.hidden = YES;
[textField006 resignFirstResponder];
[UIView beginAnimations:nil context:nil];
self.view.transform = CGAffineTransformIdentity;
[UIView commitAnimations];
[self.textField006 resignFirstResponder];
}
键盘为什么不隐藏?我怎么能隐藏它?
键盘==十进制键盘返回键&gt;&gt; Go自动启用返回键= 打勾
答案 0 :(得分:18)
如果当前没有正确隐藏,请务必使用endEditing:。
关于endEditing
:
“endEditing导致视图(或其中一个嵌入的文本字段)重新签名 第一响应者状态。“
“此方法查看当前视图及其子视图层次结构 当前第一个响应者的文本字段。如果找到一个, 它要求文本字段作为第一响应者辞职。如果力量 参数设置为YES,甚至不询问文本字段;它是 被迫辞职。“
因此,以下内容应该有效(在按钮单击操作方法中):
[self.view endEditing:YES];
答案 1 :(得分:0)
您也可以[self.textField006 resignFirstResponder]
答案 2 :(得分:0)
快速版@lifetimes答案
self.view.endEditing(true)
它对我来说很完美