我有一個UITextView,當用戶在某個視圖中執行某些操作時,它會自動打印某種日誌。iOS >> UITextView >>自動「跳轉」到最後一行
我希望每當添加新行時都跳到最後一行。目前它只是停留在原來的位置,如果您希望看到新的線條,則必須手動向下滾動。
我該怎麼做?
我有一個UITextView,當用戶在某個視圖中執行某些操作時,它會自動打印某種日誌。iOS >> UITextView >>自動「跳轉」到最後一行
我希望每當添加新行時都跳到最後一行。目前它只是停留在原來的位置,如果您希望看到新的線條,則必須手動向下滾動。
我該怎麼做?
我還沒有試過這個,但根據文檔有- (void) scrollRangeToVisible:(NSRange)range
。
所以,你可以這樣做:
[myTextView scrollRangeToVisible:NSMakeRange([myTextView.text length], 0)]
基本上,我們通過文本的過去最區間震盪。
UITextView
是UIScrollView
的子類。因此,您可以查詢其contentsSize
並致電setContentOffset:animated:
移至新文本。
沒有試過,它應該工作
CGPoint bottomOffset = CGPointMake(0, theTextView.contentSize.height - theTextView.bounds.size.height);
[theTextView setContentOffset:bottomOffset animated:YES];
請讓我知道爲什麼當最後一個範圍是一個空行,這是行不通的。光標在我的情況下只是減半,就像在內容區域外。 – chrs