Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios4 如何摆脱iphone模拟器中的键盘?_Ios4_Ios Simulator_Keypad - Fatal编程技术网

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

Ios4 如何摆脱iphone模拟器中的键盘?,ios4,ios-simulator,keypad,Ios4,Ios Simulator,Keypad,我正在制作一个简单的iphone应用程序,其中一个文本字段位于另一个文本字段的下方。 问题是当我通过模拟器中的键盘将数据添加到前几个字段时, 键盘也会弹出,我没有用它打字,因为我仍然在使用模拟器,而不是实际的手机。 现在我无法在键盘隐藏的文本字段中键入数据 对不起,如果我的问题很傻,可能有捷径, 但我是新来的,当我在谷歌搜索上找不到东西时,StackOverflow是我唯一的选择:使用模拟键盘输入用户输入,并编写代码向上移动文本字段,这样键盘就不会隐藏文本字段。将代理连接到文本字段 我用它来上下

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

对不起,如果我的问题很傻,可能有捷径,
但我是新来的,当我在谷歌搜索上找不到东西时,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];
}
可能重复的