2012-04-05 79 views
1

我在iPad应用程序中使用了使用键盘,Pickerviews等不同输入法的少数UITextFields。通常情况下,inputview应该从屏幕的底部出现,但大部分时间从底部开始显示 - 大约50像素。我附上了几张快照。这种情况非常随机,但是一旦发生,它对所有UITextFields都是一样的。任何人都可以告诉我什么是影响这个因素,以及如何摆脱这个问题?我希望inputview总是从屏幕底部出现。请注意,我没有导航控制器,我通过我的应用程序使用presentviewmodel,并且有一个自定义的导航控制器看起来像底部!谢谢。iOS:UITextField键盘和输入法出现在错误的位置

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

我确保选定的文本视图始终通过以下方法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!

回答

1

我很惊讶我通过玩键盘的设置了解了这一点。在设置 - >常规 - >键盘 - >关闭“分离键盘”,它的工作!我已通过测试确认开启和关闭此键。当关闭时,从屏幕底部显示键盘或任何输入视图。打开时,键盘/输入视图出现在距屏幕底部约50像素处。不知道它与它有什么关系!

0

它,因为你还没有使用resignFirstResponder选择器或副Versa.So每当u按完成按钮辞去所有textFeilds之前你textFeild当u打开拾取辞职所有textFeilds 。

+0

这可能不正确,但不确定。请参考我添加的代码,以确保我总是先辞职。事情发生在我的应用程序启动时的第一个根屏幕上,并且使userlogin textfield成为第一响应者! – applefreak 2012-04-05 15:05:30