2012-04-20 127 views
0

這是正確更新textView,但我有一個巨大的問題。每當更新發生時,scrollView實際上會滾動到剛剛更新的視圖。所以,無論何時我加載一列新的圖塊,當它開始加載時,滾動視圖都會停止,即使它具有動量!

任何想法可能會造成這種情況?

如果我懶加載他們沒有任何信息的單元格中的一切正常,所以我認爲它必須與我更新textView。

我已經嘗試:

  • 使用的的NSTimer(和它的模式設置爲NSRunLoopCommonModes)。
  • 使用NSOperationQueue並在我需要更新UI更改時調用主線程。

這些都沒有工作。

+0

我的解決方案是將UITextView更改爲UILabel並沒有發生任何事情。如果有人真的有答案,我會保持開放。 – OlivaresF 2012-04-22 04:18:40

+0

你是說換成UILabel修復這個問題嗎?嘗試將UITextView editable屬性更改爲NO,並查看是否有幫助。確保在更新文本值時將UITextView上的委託設置爲nil。 – 2012-05-14 18:54:48

回答

0

我認爲解決方案在您的文章中: 「使用NSOperationQueue並在我需要更新UI更改時調用主線程。」

每當scrollView調用willScroll時,停止當前正在下載的圖像&滾動視圖停止滾動時&調用其委託方法啓動新隊列以下載圖像。

+0

我已經刪除了NSOperationQueue(現在所有內容都在主線程中),但它仍然無法工作。 – OlivaresF 2012-04-20 15:55:50

0

我的建議是使用儀器進行調試。儀器中有一個名爲「Time Profiler」的跟蹤模板,你可以看到你的應用程序在每個任務上花費了多少時間。 但是,如果你正在更新textViews,當然主線程將被阻止,所以滾動視圖停止滾動,直到所有的textViews更新。所以我的建議將會調整性能。 也許你在每個textView中加載了太多東西?

+0

我只更新textViews的文本屬性。不幸的是,我沒有時間儘快作出迴應,但我肯定會隨着我最終發現的任何內容更新這篇文章(正如我的評論在那裏指出我已將其更改爲UILAbel)。 – OlivaresF 2012-04-22 23:28:20