iOS:UITextField键盘和输入视图出现在错误的位置

时间:2012-04-05 09:51:17

标签: ios ipad keyboard uitextfield inputview

我在iPad App中使用键盘,Pickerviews等使用不同输入视图的少量UITextField。通常输入视图应该从屏幕底部出现,但大多数情况下它从底部上方出现 - 大约50个像素。我为此附上了几个快照。这是随机发生的,但是当发生一次时,它对所有UITextField都相同。谁能告诉我有什么因素影响这个以及如何摆脱这个问题?我希望inputview始终从屏幕底部出现。请注意,我没有导航控制器,我通过我的应用程序使用presentviewmodel,并有一个自定义导航控制器看起来像底部!感谢。

*我注意到,在选择From和To Textfields时,即使对Google Map也会出现这种情况。这一定是奇怪的! *

我确保所选的textview始终通过以下方法resignfirstresponder。

- (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];
}

Keyboard appears 50 pixels above the bottom of screen!

PickerView UITextField inputview appears 50 pixels above the bottom of screen!

2 个答案:

答案 0 :(得分:1)

我很惊讶我通过玩键盘的设置来解决这个问题。在设置 - >常规 - >键盘 - >关闭“拆分键盘”,它工作正常!我通过测试打开和关闭此键来确认。当关闭时,键盘或任何输入视图显示在屏幕的按钮上。打开时,键盘/输入视图从屏幕底部向上显示约50像素。不确定与它有什么关系!!

答案 1 :(得分:0)

这是因为你在使用选择器或者反之后你没有resignFirstResponder你的textFeild.So每当你按下完成按钮时你的所有textFeilds都会被取消,当你打开选择器时,所有textFeild都会被取消。