在 IB 中为 UILabel 设置 HTML 文本
Posted
技术标签:
【中文标题】在 IB 中为 UILabel 设置 HTML 文本【英文标题】:Setting HTML text for UILabel in IB 【发布时间】:2017-11-06 10:58:51 【问题描述】:从后端获取 html 文本,现在我手动删除和格式化标签,并为 <li>
标签添加项目符号。
如果有任何其他<p>
标签或<br>
标签即将到来,那么我将删除它。检查RTLabel,无法在界面生成器中使用它。
现在尝试TTTAttributedLabel,我可以在 IB 中使用它,但它无法识别 HTML 标签。
还有其他可用的轻量级库吗?
【问题讨论】:
您可以尝试使用 Webview 而不是 UILabel...然后您不必手动删除标签...只是一个建议。 其实它是一个动态的 UITableView,如果我使用 UIWebView 那么内存问题我猜会出现,这就是我使用 UILabel 的原因。 No No...内存问题不会出现...您可以使用 webview。 你看到这个笔记github.com/codepath/objc_ios_guides/wiki/…了吗?您可以使用 NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType 将 HTML 转换为 NSAttributedString,但这可能会导致大型 html 页面的应用程序冻结。据我所知,它不能从后台线程调用。 ***.com/questions/17204967/…查看此链接 【参考方案1】:您可以使用RTLabel 代替UILabel 来显示HTML 文本。请查看以下链接了解更多详情:-
https://github.com/honcheng/RTLabel
【讨论】:
它是一个动态的 uitableview,我无法以编程方式设置 uilabel 文本。这就是为什么我无法使用这个 RTLabel 库。 忽略以上评论。您可以计算 RTLabel 对象的高度和单元格的指定高度。例如:-RTLabel *lbl = [[RTLabel alloc]initWithFrame:frame]; [lbl setText:@"<br> alloc </br>"]; [lbl sizeToFit];
float fltLBLHeight = lbl.frame.size.height;
现在我们可以获取标签的高度并将其用于动态高度,并在 TableView 委托方法“heightForRowAtIndexPath”中分配它。希望对你有帮助!!!
我的 uitableviewcell 中不仅有这个标签,动态标签会出现在一些对象之间,所以我不能通过编程来做到这一点,以前我试过这样,它执行得非常慢,这就是为什么在 IB 中使用自动布局。以上是关于在 IB 中为 UILabel 设置 HTML 文本的主要内容,如果未能解决你的问题,请参考以下文章
你在哪里以编程方式在 UIView 中为 UILabel 设置文本?