iOS自定義鍵盤和系統鍵盤切換且文本輸入框一直得到焦點

UITextView用來進行文本輸入。
方法becomeFirstResponder和resignFirstResponder能夠用來進行彈出系統鍵盤和收下系統鍵盤。this

彈出系統鍵盤,文本輸入框得到焦點。收下系統鍵盤,文本輸入框失去焦點。那麼,問題來了。spa

某個條件下,如點擊界面上的某個按鈕,展現自定義鍵盤。再次點擊,切換到系統鍵盤。
先收下系統鍵盤,再展現自定義鍵盤。好比移動自定義鍵盤View的Frame.Y。但這時由於收下系統鍵盤,本文輸入框失去焦點。
雖然展現了自定義鍵盤。但用戶體驗很很差。光標沒有閃動。自定義鍵盤輸入的內容沒法準確插入到文本輸入框裏。

解決方法:(見iOS開發文檔)ci

@property(readwrite, retain) UIView *inputView開發

If the value in this property is nil, the text view displays the standard system keyboard when it becomes first responder. Assigning a custom view to this property causes that view to be presented instead.文檔

The default value of this property is nil.input

 

這個屬性就是說
1.爲nil時展現系統鍵盤。
2.爲自定義View時展現自定義鍵盤。

注意要刷新。it

- (void)reloadInputViewsclass

You can use this method to refresh the custom input view or input accessory view associated with the current object when it is the first responder. The views are replaced immediately—that is, without animating them into place. If the current object is not the first responder, this method has no effect.用戶體驗

完美解決問題。
文本輸入框一直得到焦點。自定義鍵盤和系統鍵盤自由切換。iOS開發

相關文章
相關標籤/搜索