2014-06-23 50 views
2

我想在我的通用iOS應用程序上顯示變量文本。我從SQLite數據庫加載文本爲NSString,並且幾乎每行文本都將顏色等屬性分開。所以我需要使用AttributedText。我也想支持ios 7和ios 7以及未來的iOS 8。UItextView vs UIWebView用於在iOS中顯示長屬性文本

我注意到有兩種常規方法:1-使用UITextView 2-使用UIWebView。

我想知道使用上述功能和女巫的優點和缺點是什麼是更好的顯示長度和非常有用的文本。而且還有其他解決方案來顯示這些文本。

回答

1

使用UIWebView的最大優勢是您可以通過它呈現HTML內容 - 任何HTML內容,因爲它由WebKit支持。

另一方面,UIWebView將添加一個明顯的延遲,從您將它作爲子視圖添加到它將完成呈現HTML的那一刻。

你也可以看看RTLabel等其他選擇,你可以在GitHub上找到。 RTLabel建立在覈心文本之上,並支持類似HTML的標記。

編輯:

其中有些是約40000字。它應該是大約1000段和每段1行。

我的建議是進行某種分頁,讓用戶輕鬆移動所有文本(40k字符將會像25-30個書頁)。這樣可以提高用戶體驗,並且還可以通過UITextView(性能方面)實現可行性。

如果你不想分頁,只想要一個滾動視圖,那麼UIWebView可能對你的情況更好,因爲它也應該對未顯示的頁面部分進行某種優化。

最後,作爲一個側面節點,由於您指定文本具有固定結構(1000個40字符行),因此您可以考慮的另一個選項是使用UITableView來實現此目的,前提是您可以顯示每個段落一個單元格行。這將是最有效的解決方案,因爲您有短文本和表視圖來處理其分配/取消分配,基於哪些(通常是一個小子集)正在顯示。

+0

我還沒有任何HTML標籤。所有的內容都是一本書的文字。我有一些問題,這裏已經問過這裏:http://stackoverflow.com/questions/24355793/nstextview-with-long-nsmutableattributedtext-low-scrolling-and-loading-speed,但沒有收到任何信息。我在這幾天做了一些調查,發現了這兩種方式。所以我想知道如何使用WebView或TextView。因此,使用文本視圖來顯示書籍的屬性文本是正確的嗎?似乎這是最好的方式。 –

+0

你想分頁嗎?你在視圖中放置了多少文字? – sergio

+0

其中一些是約40000個字符。它應該是大約1000段和每段1行。每行都有一個屬性文本。 –