gpt4 book ai didi

ios - UItextview 与 UIWebView 在 iOS 中显示长属性文本

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:40 26 4
gpt4 key购买 nike

我想在我的通用 iOS 应用程序上显示可变文本。我将 SQLite 数据库中的文本作为 NSString 加载,几乎文本的每一行都有单独的属性,例如 Color。所以我需要使用 AttributedText。我也想同时支持 ios 7 和 ios 7 以及 future 的 iOS 8。

我注意到有两种通用方法:1- 使用 UITextView 2- 使用 UIWebView。

我想知道使用上述功能的优点和缺点是什么,哪个更适合显示较长的长度和非常有属性的文本。还有其他显示此文本的解决方案。

最佳答案

使用 UIWebView 的最大优势是您可以通过它呈现 HTML 内容——任何 HTML 内容,因为它由 WebKit 提供支持。

另一方面,UIWebView 将从您将其添加为 subview 到完成呈现 HTML 的那一刻添加明显的延迟。

您还可以查看替代方案,例如 RTLabel以及您可以在 GitHub 上找到的其他内容。 RTLabel 建立在 Core Text 之上,支持类似 HTML 的标记。

编辑:

Some of them are about 40000 characters. It should be about 1000 paragraphs and each paragraph 1 line.

我的建议是采用某种分页方式让用户舒适地浏览所有文本(40k 个字符相当于 25-30 页书页)。这将改善用户体验,并且还可以通过 UITextView 实现 - 性能方面。

如果您不想要分页并且只想要一个 ScrollView ,那么 UIWebView 可能更适合您的情况,因为它还应该对未显示的页面部分进行某种优化。

最后,作为侧节点,由于您指定文本具有固定结构(1000 行 40 个字符),您可以考虑的另一个选项是为此使用 UITableView,前提是您可以在单个单元格行中显示每个段落。这将是最有效的解决方案,因为您有短文本和 TableView 来根据正在显示的文本(通常是一小部分)来处理它们的分配/取消分配。

关于ios - UItextview 与 UIWebView 在 iOS 中显示长属性文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24370592/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com