2012-08-15 47 views
0

我有一個視圖控制器,它基本上是一個包含多個UITextField和UITextView的表單,嵌入在UIScrollView中。當一個的UITextField成爲第一個響應,滾動視圖自動移動到集中的領域,這是認爲這是行爲的第一個答案本主題解釋:在UIScrollView中移動UITextView時遇到問題時,它是第一響應者

Disable UIScrollView scrolling when UITextField becomes first responder

當第一響應者是不會出現這種情況一個UITextView,但我不知道爲什麼以及如何修復它。

第二個問題是當顯示鍵盤時,如果UITextView不在視圖中(因爲它被新顯示的鍵盤隱藏),滾動視圖不會滾動。我實現了蘋果的文檔對如何管理鍵盤代碼:

http://developer.apple.com/library/ios/#DOCUMENTATION/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html

而且添加了一個名爲有效收視的textViews(在TextView中的beginEditing初始化另一個activeField變量,在endEditing設爲零,並根據scrollToVisible它是顯示鍵盤時的框架)。這裏的問題是,在keyboardWasShown之後調用UITextView中的beginEditing,所以activeView沒有初始化,因此不會滾動。出於某種原因,對於UITextField,beginEditing之前被調用,這是預期的行爲。

如何滾動到UITextView,它是第一響應者,當鍵盤顯示並隱藏時,如何移動到它?

回答

0

要滾動顯示在UIScrollView什麼做

scrollRectToVisible:/*frame of object you want to show*/ animated:YES

訂閱UITextViewTextDidBeginEditingNotification並調用上面的方法,當你得到它。

相關問題