我在底部創建了一些需要用戶輸入的文本框。有什麼方法可以在鍵盤出現時自動推高視圖?當鍵盤出現時,視圖能夠被推高嗎?
回答
使用視圖的-contentoffset屬性。
請參閱Apple的Moving Content That Is Located Under the Keyboard或this implementation,其基於Calculating Area Covered by Keyboard。
基本上你必須在UIScrollView上掛載你的視圖並添加與鍵盤相同高度的底部內容插入。然後使用setContentOffset滾動:animated :.這是一個可以重複使用的通用解決方案。
更簡單但非通用的方法是,如果在視圖底部有足夠的空間而沒有可編輯的控件,則只需滾動到每個編輯框的固定位置即可。
請注意,您不必使用UIScrollView。您可以減少主視圖中心屬性的y值,然後在鍵盤隱藏時再次增加y值。滾動視圖很好,因爲它可以讓用戶決定在鍵盤出現時看到界面的其他部分,但是它增加了一點複雜性。 – morningstar
但是,我正在爲我的程序使用UIViewController,可以在這種環境下解決問題嗎? –
@morningstar如果您鏈接到或提供了一些關於中心屬性更改位置/方式的代碼/屏幕截圖,那就太好了。 – Danny
- 1. 當鍵盤出現時移動視圖
- 2. 保持鍵盤上方的視圖 - 當出現鍵盤時
- 3. 當軟鍵盤出現時,如何避免框架佈局被推高?
- 4. JSQMessages鍵盤不會推高視圖
- 5. 當鍵盤出現
- 6. 當iPad出現鍵盤時如何移動視圖?
- 7. 當出現鍵盤時UIView的容器視圖不能正確滾動
- 8. 當軟鍵盤出現時,只將底部向上推
- 9. Android - 當軟鍵盤出現時向上推動操作欄
- 10. 當鍵盤出現時沒有adjustPan推送ListView
- 11. Uity3D,隱藏鍵盤時inputfield有效(當現場被觸摸無鍵盤彈出)
- 12. 當鍵盤出現時收縮UIWebView
- 13. 當鍵盤出現時管理UIView
- 14. Swift:當出現鍵盤時滾動UITableView
- 15. 的EditText當鍵盤出現
- 16. 的UIScrollView當鍵盤出現
- 17. 當鍵盤出現的iOS
- 18. 如何當鍵盤出現
- 19. 當鍵盤出現時,Android佈局被封裝
- 20. (tablayout)當editText被聚焦時,標籤在鍵盤上方出現
- 21. 在鍵盤出現時發出移動視圖Swift
- 22. 鍵盤出現時移動視圖 - 僅在編輯時?
- 23. 當視圖被忽略時,呈現視圖會拋出EXC_BAD_ACCESS
- 24. 啓用鍵盤時推高佈局
- 25. 退出鍵盤時離開FormSheet視圖?
- 26. 鍵鬆動,當鍵盤出現
- 27. 當鍵盤出現時移動桌面視圖的內容插入
- 28. 當軟鍵盤出現時,將視圖鎖定到屏幕頂部
- 29. 滾動視圖與滾動視圖裏面,當軟鍵盤出現時,父滾動視圖不滾動
- 30. 允許軟鍵盤向上推視圖
您可能需要查看[TPKeyboardAvoiding](https://github.com/michaeltyson/TPKeyboardAvoiding),這是一種用於移動文本字段以避免iOS中的鍵盤出現問題的通用解決方案。 – 2011-10-16 08:17:02