2017-04-02 437 views
2

我正在使用IQKeyboardManager使我的筆記視圖控制器(包含較大的UITextView)變得簡單。但是,一旦鍵盤處於活動狀態,屏幕就會不必要地上移。我希望屏幕保持鍵盤處於活動狀態之前的狀態(請參見下圖),並且只有在鍵盤覆蓋用戶的輸入後才能進行UITextView滾動。IQKeyboardManager - 將UITextView向上移動太遠

Before keyboard is active

When the keyboard is active (view scrolled up, covering "Notes" and Navigation Bar)

我不想導航欄或「註釋」標籤被掩蓋,但我無法找到IQKeyboardManager設置從推停止UITextView一直到頂部。

如何在鍵盤激活時防止視圖向上移動?

編輯:我應該注意到,我不反對刪除IQKeyboardManager,我只是認爲它會處理這個。我主要只需要一種方法,讓我的UITextView在用戶輸入鍵盤下方的東西時自動滾動。

更新:我解決我的問題,而不IQKeyboardManager由依賴於鍵盤是否是可見的調整我UITextView的contentInset。

回答

0

導航欄是半透明的嗎?這是IQKeyboardManager中的常見錯誤。嘗試取消選中導航欄中的「半透明」屬性。這不是完美的解決方案,但應該起作用。

0

如果你想在屏幕上留下究竟是怎麼回事,你可以禁用運動行爲的類IQKeyboardManager.sharedManager().disabledDistanceHandlingClasses屬性,例如:

/* Probably in your AppDelegate where you setup the keyboard */ 

IQKeyboardManager.sharedManager().enable = true 
IQKeyboardManager.sharedManager().disabledDistanceHandlingClasses = [YourViewController.self] 
+0

這樣可以使畫面如何,但同時也會停止(謝謝!) UITextView一旦用戶的文本會在鍵盤下方自動滾動。有關維護該功能的任何建議? –

+0

@MichaelPangburn你能分享你的項目嗎? –