我有一個視圖控制器,它基本上是一個包含多個UITextField和UITextView的表單,嵌入在UIScrollView中。當一個的UITextField成爲第一個響應,滾動視圖自動移動到集中的領域,這是認爲這是行爲的第一個答案本主題解釋:在UIScrollView中移動UITextView時遇到問題時,它是第一響應者
Disable UIScrollView scrolling when UITextField becomes first responder
當第一響應者是不會出現這種情況一個UITextView,但我不知道爲什麼以及如何修復它。
第二個問題是當顯示鍵盤時,如果UITextView不在視圖中(因爲它被新顯示的鍵盤隱藏),滾動視圖不會滾動。我實現了蘋果的文檔對如何管理鍵盤代碼:
而且添加了一個名爲有效收視的textViews(在TextView中的beginEditing初始化另一個activeField變量,在endEditing設爲零,並根據scrollToVisible它是顯示鍵盤時的框架)。這裏的問題是,在keyboardWasShown之後調用UITextView中的beginEditing,所以activeView沒有初始化,因此不會滾動。出於某種原因,對於UITextField,beginEditing之前被調用,這是預期的行爲。
如何滾動到UITextView,它是第一響應者,當鍵盤顯示並隱藏時,如何移動到它?