2014-10-08 42 views
3

我的UITextView使用屬性文本。 當我呼叫resignFirstResponder時,它總是滾動到頂部。UITextView在隱藏iOS中的鍵盤上滾動頂部8

這隻發生在我的iOS 8模擬器上。不是我的iOS 7手機。

任何想法,以防止這種情況?

+0

我一直在尋找兩天的解決方案,並沒有找到一個。這個bug非常令人沮喪。 – 2014-10-20 19:56:42

回答

3

我想我找到了解決這個問題的方法。

首先,我不打電話給resignFirstResponder,現在我打電話給[textView setEditable:NO]關閉鍵盤。

在iOS 8中初始化UITextViews時似乎有一個bug。長話短說,子視圖(我的UITextView)UITextContainerView的minSize Y值未被初始化爲與UITextView的框架相同的大小。它被設置爲0。

要強制初始化該值,因爲它不能直接訪問,所以我發現在viewDidLoad中調用[textView setScrollEnabled:NO]會將Y設置爲與我的框架的Y值相同,這固定了我在iOS 8中的很多滾動問題

我還必須將滾動設置回viewDidAppear中的啓用,以便它們仍然可以滾動。

+0

看起來像通過在viewDidLoad中將scrollEanbled設置爲NO並在viewDidAppear中設置回YES來解決問題,resignFirstResponder也是固定的。 – 2015-08-21 02:01:57

+0

順便說一句,這是一個了不起的修復,一直在尋找幾天來解決這個錯誤引起的各種問題,謝謝! – 2015-08-21 02:11:12