如何摆脱iPhone模拟器中的键盘?

时间:2011-12-16 06:51:59

标签: ios4 ios-simulator keypad

我正在创建一个简单的iphone应用程序,我将某些文本字段放在另一个之下。 问题是当我在模拟器中通过键盘将数据添加到前几个字段时, 键盘也弹出,我没有用于打字,因为我仍在使用模拟器而不是实际的手机。 现在我无法将数据输入到键盘隐藏的文本字段中。

抱歉如果我的问题很愚蠢,可能会有一个快捷方式, 但我是新手,当我在谷歌搜索中找不到东西时,StackOverflow是我唯一的后退选项:)

5 个答案:

答案 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模拟器中,您没有像这样工作的快捷方式或按钮。您可以使用返回按钮关闭键盘,但前提是您先在代码中连接UITextFieldDelegateUse 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];
}