2013-07-21 50 views
1

我有一個UITextView,當用戶在某個視圖中執行某些操作時,它會自動打印某種日誌。iOS >> UITextView >>自動「跳轉」到最後一行

我希望每當添加新行時都跳到最後一行。目前它只是停留在原來的位置,如果您希望看到新的線條,則必須手動向下滾動。

我該怎麼做?

回答

2

我還沒有試過這個,但根據文檔有- (void) scrollRangeToVisible:(NSRange)range

所以,你可以這樣做:

[myTextView scrollRangeToVisible:NSMakeRange([myTextView.text length], 0)] 

基本上,我們通過文本的過去最區間震盪。

+0

請讓我知道爲什麼當最後一個範圍是一個空行,這是行不通的。光標在我的情況下只是減半,就像在內容區域外。 – chrs

1

UITextViewUIScrollView的子類。因此,您可以查詢其contentsSize並致電setContentOffset:animated:移至新文本。

1

沒有試過,它應該工作

CGPoint bottomOffset = CGPointMake(0, theTextView.contentSize.height - theTextView.bounds.size.height); 
[theTextView setContentOffset:bottomOffset animated:YES]; 
相關問題