Ios4 如何摆脱iphone模拟器中的键盘?
我正在制作一个简单的iphone应用程序,其中一个文本字段位于另一个文本字段的下方。 问题是当我通过模拟器中的键盘将数据添加到前几个字段时, 键盘也会弹出,我没有用它打字,因为我仍然在使用模拟器,而不是实际的手机。 现在我无法在键盘隐藏的文本字段中键入数据 对不起,如果我的问题很傻,可能有捷径,Ios4 如何摆脱iphone模拟器中的键盘?,ios4,ios-simulator,keypad,Ios4,Ios Simulator,Keypad,我正在制作一个简单的iphone应用程序,其中一个文本字段位于另一个文本字段的下方。 问题是当我通过模拟器中的键盘将数据添加到前几个字段时, 键盘也会弹出,我没有用它打字,因为我仍然在使用模拟器,而不是实际的手机。 现在我无法在键盘隐藏的文本字段中键入数据 对不起,如果我的问题很傻,可能有捷径, 但我是新来的,当我在谷歌搜索上找不到东西时,StackOverflow是我唯一的选择:使用模拟键盘输入用户输入,并编写代码向上移动文本字段,这样键盘就不会隐藏文本字段。将代理连接到文本字段 我用它来上下
但我是新来的,当我在谷歌搜索上找不到东西时,StackOverflow是我唯一的选择:使用模拟键盘输入用户输入,并编写代码向上移动文本字段,这样键盘就不会隐藏文本字段。将代理连接到文本字段 我用它来上下移动:在视图中
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
以及以下方法
- (void) keyboardWillShow: (NSNotification*) aNotification
{
int position = 0;
if ([txtfld1 isFirstResponder])
position = 120;
else if ([txtfld2 isFirstResponder]) position = 120;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect rect = [[self view] frame];
rect.origin.y -= position;
[[self view] setFrame: rect];
[UIView commitAnimations];
}
- (void) keyboardWillHide: (NSNotification*) aNotification
{
int position = 0;
if ([txtfld1 isFirstResponder])
position = 120;
else if ([txtfld2 isFirstResponder]) position = 120;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect rect = [[self view] frame];
rect.origin.y += position;
[[self view] setFrame: rect];
[UIView commitAnimations];
}
只需添加textField Delegate。。这是它的委托方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
["your Textfiled object Name" resignFirstResponder];
}
如上所述设置所有文本字段。您的键盘将被丢弃。我建议将文本字段保存在Scrollview中。它可以帮助您您可能正在搜索Android中的后退按钮之类的东西,它在任何情况下都会关闭Android模拟器上的键盘。在iOS模拟器中,你没有这样的快捷方式或按钮。您可以通过返回按钮关闭键盘,但前提是您首先在代码中连接了一个。要使您的返回按钮正常工作。您也可以添加一个返回键Done,GO。。。来自属性检查器。我使用以下答案来解决问题。我希望这对您真的有帮助。 您只需在view controller.m文件中使用此代码
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[self animateTextField:textField up:YES];
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
[self animateTextField:textField up:NO];
}
可能重复的