2012-04-24 74 views
1

我有幾個本地html文件,我想在靜態(現在)單元格的表中顯示它們。每個UIWebView都會有不同的高度(我不想在UIWebView中有任何滾動條),所以顯然每個單元格都有不同的高度。我讀的大多數評論都不鼓勵在表格單元格中使用UIWebView。你怎麼看:這適用於?會不會很慢,需要時間來加載?在表格單元格中添加uiwebviews是個好主意嗎?

+0

我發現這個答案︰http://stackoverflow.com/questions/6626294/displaying-lots-of-richtext-choosing-the-best-option **但我更喜歡聽到你的意見** – iosMentalist 2012-04-24 10:30:53

回答

7

在tableview單元格中的UIWebview肯定會影響性能。要在tableview單元格中顯示Html內容,您可以使用NSAttributedString

6

我在應用程序中使用了UIWebView以在表格視圖中將來自網絡的內容顯示爲行。

我知道這樣做是不鼓勵的,由於UIWebView的高內存使用,但在我的情況下,它不僅是顯示豐富的文本的問題:我必須顯示從網絡加載的HTML,所以我給選擇一個嘗試。總之,我試過了,它工作得很好。

該應用程序不時收到內存警告,但它也能夠有效恢復內存,即使在iPod touch(僅256MB內存)下也不會受到影響。性能可能受到影響,但由於應用程序正在做這些事情(從網絡載入文本並將其顯示在表格中),該應用程序完全可以響應。

一個重要的通知:頁面非常簡單,只是文本,每個表不包含超過15個元素。此外,你必須考慮的一件事是UIWebView在渲染中引入了一個小的延遲,所以你必須處理它並在你的應用中接受它(沒有辦法擺脫它,我知道)。

在後面的項目中,我使用了一種不同的方法:只使用一個UIWebView並使用HTML/js創建表格。嗯,它也行得通,但我看不出有什麼大的改進,可以達到峯值內存使用率和性能(我用儀器檢查過)。

這僅僅是我的經驗,我並不是想說這會起作用,或者那是很好的做法。無論如何,我希望它有幫助。

+0

' UIWebView'包含任何滾動或拉伸和展開單元格嗎? – iosMentalist 2012-04-24 11:01:57

+1

不滾動;在加載結束時,使用JavaScript調用來讀取內容高度並相應地設置單元高度。 – sergio 2012-04-24 14:03:20

+0

謝謝sergio ...我寧願使用NSAtrributedString,而不是爲每個單元格調用js(我可能有數千個) – iosMentalist 2012-04-25 07:41:53

相關問題