我想對UITextView進行一些類型的刷新以將文本視圖重新設置爲原始狀態。我有一個動態填充的段落,取決於用戶點擊哪個TableViewCell。因此,當他們滾動文本字段,然後返回並選擇另一個單元格並返回時,文本會更改,但滾動位置仍然保留在用戶離開它的位置。我怎樣才能將它恢復到默認狀態。謝謝!刷新UITextView在iPhone上的滾動位置
回答
默認情況下,你的意思是滾動到頂部?如果是這樣,你就走在正確的軌道上。嘗試
[myTextView scrollRangeToVisible:NSMakeRange(0, 0)];
我也嘗試過,但它似乎沒有進入真正的文本頂部。它只接近頂部,但看起來不像默認。老實說,我並沒有很好的理解NSRange的東西。 – 2009-08-27 23:08:18
我剛剛用我有的應用程序試過這個,它適用於我。你能發佈你的模擬器的截圖,以便我們看到行爲? – 2009-08-27 23:37:14
以下是一些屏幕截圖:初始,手動向下滾動和重新加載 http://www.angelfilm.net/external/stackoverflow/mos/ – 2009-08-28 17:08:39
我發現,如果我先清除UITextView,然後應用新文本,它會自動「滾動」回到頂部。
myTextView.text = @"";
myTextView.text = theRealTextContent;
這兩種方法都不能滿足我的要求。
scrollRangeToVisible產生噸視覺僞像(大量大串之間切換時滾動),並且實際上只有在所有工作在延遲呼叫的內容後的一段時間(I使用0.1秒)已被改變,並不像Shaggy Frog的回答所暗示的那樣直接。
在設置新內容之前將文本設置爲@「」並沒有幫助,即使有延遲。
看來,如果一旦一個UITextView已經輸入了,它永遠是在這種模式下設置了新的內容會導致惱人的滾動文物。我試着將selectionRange設置爲UITextView的開頭,但這沒有幫助。在設置新內容之前發送resignFirstResponder消息也沒有幫助。
因此,我決定每次更改內容時刪除並重新創建UITextView。在我的應用中,這是一個罕見的事件(基於人爲交互),這不是性能問題。這是我能找到的「加載新內容」進入UITextView而沒有大量煩人的滾動工件的唯一方法。
我的經驗是OS3.2(新iPad模擬器)
[textview setScrollEnabled:YES];
textview.text = yourText;
[textview setScrollEnabled:NO];
我實際上想要停止textView從滾動更新內容,所以我只是反其道而行,它完美無瑕。謝謝。 – soemarko 2013-05-29 20:57:18
我設法得到期望的結果 - 在強制的UITextView以「滾動」其內容的頂部編輯結束時。但要實現它,我必須同時停用textViewDidEndEditing中的滾動功能,並且還要使用相同的方法重置文本。
我重新啓用了textViewDidBeginEditing中的滾動功能。
- (void) textViewDidEndEditing: textView;
{
[textView setScrollEnabled: NO];
NSString* savedText = [textView text];
[textView setText:@""];
[textView setText: savedText];
}
這個工作,如果你想讓它向上滾動到頂部:
[theTextView scrollRangeToVisible:NSMakeRange(0, 0)];
唯一的問題是,這個動畫的方式了。如果你想讓它捕捉到頂部,使用此:
[theTextView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
該解決方案適用於我。我在viewDidLoad中加載了文本,更改了UITextView的ContentInset,然後不得不使用scrollRectToVisible使頂部正確對齊。謝謝 – TMilligan 2013-09-26 02:05:26
什麼終於爲我工作怎麼清除文本內容,然後對下一個運行循環所需的文本設置。
// clear the text view
self.textView.text = ""
// set the text on the next run loop
dispatch_async(dispatch_get_main_queue()) {
self.textView.text = someText
}
- 1. 刷新在ItemSource的刷新上滾動WPF ComboxBox的位置
- 2. 護滾動位置刷新
- 3. 重複UITextView滾動位置
- 4. Uitextview滾動視圖位置
- 5. UITextView在頂部的滾動位置
- 6. Dojo網格刷新和滾動位置
- 7. 刷新期間保持滾動位置
- 8. 移動Safari:JS事件跳轉到上次滾動刷新位置
- 9. iPhone:滾動時展開UITextView
- 10. UITextView初始滾動位置不是0
- 11. iPhone中的UITextView滾動(自動)?
- 12. 在頁面刷新時保持div標籤的滾動位置
- 13. 從屏幕上的任何位置在iPhone上滾動div
- 14. 感動位置刷新
- 15. 阻止網頁從維護頁面滾動位置在刷新
- 16. JQuery事件滾動到位置...重置頁面刷新
- 17. JavaFX:刷新內容後如何記住tabcontent的滾動位置?
- 18. iPhone UITextView可滾動但不可編輯
- 19. 在PostBack上設置滾動位置
- 20. 刷新winform上的滾動條
- 21. 如何在FF3中的div刷新後重置持久性滾動條位置?
- 22. 刷新一個UITextView
- 23. 刷新內容UITextView
- 24. UITextView的位置
- 25. ListView在滾動上的位置
- 26. 刷新頁面並保持滾動位置
- 27. 刷新div後記憶窗口滾動位置
- 28. WPF DataGrid - 刷新後保持滾動位置
- 29. UITextView&UITextField在iPhone設備從相機中選擇圖像時刷新刷新
- 30. 在iphone上滾動的Admobs
作爲一個說明,我已經試圖使用 [myTextView scrollRangeToVisible:NSMakeRange([myTextView.text長度],0)]; – 2009-08-27 22:28:07