Kyl*_*lls 18 iphone uiwebview uitableview nsattributedstring ios
显示大量 RichText 的最佳方式是什么(HTML格式)
目前我正在开发一个论坛应用程序.正如您所期望的那样,网站上的帖子有很多HTML格式,列表,图像粗体文本,彩色文本等......
现在我可以想到几个选项(非理想选择,如果你想到在评论中发布的任何其他选项,请:)
自定义单元格使用NSAttributedString + HTML + DTAttributedTextView为每个帖子?
问题:我在其他地方的应用程序中使用了NSAttributedString + HTML类别并且它不太理想,创建NSAttributedString似乎相当昂贵(慢),即使是少量.对于10个以上的帖子,每个帖子可能是整篇文章的长度会很糟糕虽然DTAttributedTextView支持IMG html标签(大多数标签)它不支持远程加载图像,除非你在img中指定它们的宽度和高度标签.对于IMG标签可能是笑脸(10*10)或屏幕截图(640*960)的论坛,没有办法预测.
(自从编写此NSAttributedString + HTML(现在重命名为DTCoreText)以来,已添加对<img>标记的完全支持并大大改进!)
每个帖子中都有一个带有UIWebView的自定义单元格?
这个我考虑了很长一段时间,但是在阅读这篇博文时,我发现了一个会导致问题的问题,即平滑滚动.为网站提供本机应用程序的想法是,使用简单的UIWebView查看网站移动主题更好.如果应用滞后和不畅,同时滚动这是糟糕的不是更好(也为我需要显示隐藏图像的WebView像他建议是行不通的).UIWebView也需要在主线程上创建或者它们中断.
回到UIWebView? 令人讨厌的是,除了做一个可怜的作弊之外(比如在iFans应用程序中),你只显示文本,然后如果他们点击它,UIWebView加载所有漂亮的图像等......,唯一的选择似乎是做我认为的TapaTalk应用程序将整个线程视图作为UIWebView.这不是太糟糕,因为它可能会有相当不错的性能,并允许我可能添加用户控制的主题等..但我发现在网站本机应用程序令人厌恶使用UIWebView的想法.
有没有人有任何创建网络应用程序的经验,比如可能是facebook客户端,论坛应用程序或新网站应用程序,它们必须显示来自网站的内容(我并不真正算一个Twitter客户端,因为它只需要处理文本和每个帖子少量链接).或者有关在iOS应用中显示RichText内容的最佳方式的任何想法?
任何想法都必须处理这个问题:
以防万一实际问题不是很明确,我会总结一下:
" 为论坛客户端应用程序显示大量RichText(HTML格式)内容的最佳方式是什么? "
因此,如果我没看错的话,您希望给定主题的论坛帖子成为 UITableView 的单元格,并且单元格需要丰富的格式?
假设这是正确的,我想每个帖子都会占用大量屏幕(大单元格高度)。在这种情况下,将 UIWebView 作为子视图可能不会像您想象的那么糟糕。UITableView 重用单元格,因此实际上只有可见单元格需要加载到内存中。
我还假设您可以通过 API 访问论坛,对吗?在这种情况下,您应该能够在加载视图之前立即预加载数据,并且 UIWebView 将仅用于格式化。当您将 HTMLString 加载到 UIWebView 中时,您甚至可以从应用程序包中加载 CSS 文件,这样您就不必每次都从服务器加载该文件。
话虽这么说,如果您确实有很多同时可见的单元格,那可能是一个不同的故事,我可能会考虑仅在 UITableView 索引中显示纯文本,并仅在用户点击单元格查看时显示丰富的格式单个帖子。从设计的角度来看,这也可能更好,因为屏幕上有大量不同格式的单元格可能最终看起来有点草率。
另外,这可能是显而易见的(特别是因为您似乎既注重性能又注重设计),但请不要将 UIWebView 用于 UI 控件。每当我看到 UIWebView 标签栏或假导航栏时,我都会感到畏缩(ack,Netflix)。不过,对于格式化来说,很多时候,如果您要从服务器加载大量动态内容,这是唯一可行的方法。
| 归档时间: |
|
| 查看次数: |
3858 次 |
| 最近记录: |