iOS:UITextField键盘和inputview出现在错误的位置

iOS:UITextField键盘和inputview出现在错误的位置,ios,ipad,keyboard,uitextfield,inputview,Ios,Ipad,Keyboard,Uitextfield,Inputview,我在我的iPad应用程序中使用键盘、Pickerviews等,使用了几个具有不同输入视图的UITextFields。通常,inputview应该从屏幕底部显示,但大多数情况下,它是从底部上方显示的,大约50像素。我已经附上了这两个快照。这是随机发生的,但当发生一次时,所有UITextFields都会发生同样的情况。有谁能告诉我影响这个问题的因素是什么,以及如何解决这个问题?我希望inputview始终从屏幕底部显示。请注意,我没有导航控制器,我在整个应用程序中使用presentviewmodel

我在我的iPad应用程序中使用键盘、Pickerviews等,使用了几个具有不同输入视图的UITextFields。通常,inputview应该从屏幕底部显示,但大多数情况下,它是从底部上方显示的,大约50像素。我已经附上了这两个快照。这是随机发生的,但当发生一次时,所有UITextFields都会发生同样的情况。有谁能告诉我影响这个问题的因素是什么,以及如何解决这个问题?我希望inputview始终从屏幕底部显示。请注意,我没有导航控制器,我在整个应用程序中使用presentviewmodel,并且有一个定制的导航控制器,看起来像底部一样!谢谢

*我注意到,即使是谷歌地图在选择From和To文本字段时也会出现这种情况。这一定很奇怪*

我通过以下方法确保所选textview始终辞职FirstResponder

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    selectedTextField = textField;
    return YES;
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    [textField resignFirstResponder];
}

- (void)donePickerViewButtonPressed
{
    [selectedTextField resignFirstResponder];
}


这是因为您在使用picker之前没有退出FirstResponder您的textFeild,反之亦然。因此,每当您按下“完成”按钮时,请退出所有textFeild,当您打开picker时,请退出所有textFeild

这是因为在使用picker之前,您没有退出FirstResponder您的textFeild,反之亦然。因此,每当您按下“完成”按钮时,退出所有textFeild,当您打开picker时,退出所有textFeild

我很惊讶,我通过玩键盘的设置找到了答案。在“设置->常规->键盘->关闭“分割键盘”,它就工作了!我已经通过测试来确认打开和关闭此键。关闭时,屏幕底部会显示键盘或任何输入视图。启用此选项后,键盘/输入视图将从屏幕底部向上显示约50像素。但我不确定这和它有什么关系

我很惊讶,我通过玩键盘的设置找到了答案。在“设置->常规->键盘->关闭“分割键盘”,它就工作了!我已经通过测试来确认打开和关闭此键。关闭时,屏幕底部会显示键盘或任何输入视图。启用此选项后,键盘/输入视图将从屏幕底部向上显示约50像素。但我不确定这和它有什么关系

这可能不正确,但不确定。请参考我在问题中添加的代码,以确保我始终辞去第一响应者的职务。问题是,当我的应用程序启动时,它发生在第一个根屏幕上,我将userlogin textfield作为第一响应者!这可能不正确,但不确定。请参考我在问题中添加的代码,以确保我始终辞去第一响应者的职务。问题是,当我的应用程序启动时,它发生在第一个根屏幕上,我将userlogin textfield作为第一响应者!