我在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];
}
答案 0 :(得分:1)
我很惊讶我通过玩键盘的设置来解决这个问题。在设置 - >常规 - >键盘 - >关闭“拆分键盘”,它工作正常!我通过测试打开和关闭此键来确认。当关闭时,键盘或任何输入视图显示在屏幕的按钮上。打开时,键盘/输入视图从屏幕底部向上显示约50像素。不确定与它有什么关系!!
答案 1 :(得分:0)
这是因为你在使用选择器或者反之后你没有resignFirstResponder
你的textFeild.So每当你按下完成按钮时你的所有textFeilds都会被取消,当你打开选择器时,所有textFeild都会被取消。