我正在创建一个简单的iphone应用程序,我将某些文本字段放在另一个之下。 问题是当我在模拟器中通过键盘将数据添加到前几个字段时, 键盘也弹出,我没有用于打字,因为我仍在使用模拟器而不是实际的手机。 现在我无法将数据输入到键盘隐藏的文本字段中。
抱歉如果我的问题很愚蠢,可能会有一个快捷方式, 但我是新手,当我在谷歌搜索中找不到东西时,StackOverflow是我唯一的后退选项:)
答案 0 :(得分:0)
使用模拟器键盘输入用户输入并编写用于向上移动文本字段的代码,以便键盘不会隐藏文本字段。将代理连接到文本字段。
我正在使用它来上下移动:在视图中加载,
{
[[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];
}
答案 1 :(得分:0)
简单地添加textField委托.. AND这是它的委托方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
["your Textfiled object Name" resignFirstResponder];
}
设置您的所有textFiled如上所述。你的键盘将被解雇。我建议在Scrollview中保留你的Textfields。它可以帮助你
答案 2 :(得分:0)
您可能正在搜索Android中的“后退按钮”,它无论如何都会在Android模拟器上解除键盘。在iOS模拟器中,您没有像这样工作的快捷方式或按钮。您可以使用返回按钮关闭键盘,但前提是您先在代码中连接UITextFieldDelegate。 Use this code让您的退货按钮“正常工作”。
答案 3 :(得分:0)
另外,你可以从属性检查器添加一个RETURN键(DONE,GO ...)。
答案 4 :(得分:0)
我使用以下答案来解决问题。我希望这对你真的很有帮助。 您只需在视图controller.m文件中使用此代码
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[self animateTextField:textField up:YES];
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
[self animateTextField:textField up:NO];
}