2012-04-05 75 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