Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >UILabel加载html文本

UILabel加载html文本

作者头像
用户1451823
发布于 2018-09-13 07:45:53
发布于 2018-09-13 07:45:53
3.3K0
举报
文章被收录于专栏:DannyHoo的专栏DannyHoo的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337802

最近项目更改需求,要用UILabel加载html文本(leader看了京东、天猫商城要实现其图文详情页面的效果)。笔者在看了那些商城的相应页面之后发现它们的实现方式并不是利用UILabel加载html文本的方法。本人感觉UILabel加载html文本并不好,现在有WKWebView是比较好用的。即使不用WKWebView也可以返回JSON数据,在客户端这边进行布局。之所以利用UILabel加载html文本,leader们是希望能够图文混排。既然会出现图片,那么用户就可能点击图片放大图片看些内容,然而利用UILabel加载的html文本显示的图片不能点击(目前笔者没有能点击UILabel上图片的方法)。

leader既然要求,那我这个“搬砖的”也只能埋头“搬砖”了。

代码:

NSMutableAttributedString * desStr = [NSMutableAttributedString alloc initWithData:str dataUsingEncoding:NSUnicodeStringEncoding options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:NULL error:nil];

_detailLbl.attributedText =desStr;

这里利用了UILabel上的富文本属性。这样做了之后还有一点很重要,那就是设置UILabel的高度。同样是自适应Label高度,让UILabel的高度根据html文本内容来设置UIlabel的高度。代码:

NSMutableAttributedString * desStr = [NSMutableAttributedString alloc initWithData:str dataUsingEncoding:NSUnicodeStringEncoding options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil];

CGRect desRect = desStr boundingRectWithSize:CGSizeMake(WIDTH - 30 * IPHONE6_W_SCALE, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin context:nil;

CGFloat h = desRect.size.height;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年11月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
html图片自适应div大小_未知宽高的div元素垂直水平居中
2.设置html图片的高度 计算出来的 height 正好是排版后的高度大小,是 CGFloat 类型,在是在我们设置UIlabel/Cell 高度时,可能存在四舍五入等,最后存在的一点点误差使得 UILabel 显示不全,可能出现缺少一行,上下空白太多等情况;
全栈程序员站长
2022/11/09
3.4K0
HTML字符串与富文本互转
引言 原文: https://kunnan.blog.csdn.net/article/details/114015528 应用场景:使用原生视图UILabel显示服务端返回的带有HTML标签的内容 demo源码下载 https://download.csdn.net/download/u011018979/15448928 在这里插入图片描述 I 、 html转换为富文本 NSString *html = @"<p style='color:green'>博客<span style='color:
公众号iOS逆向
2021/03/08
3.1K0
HTML字符串与富文本互转
【IOS开发基础系列】UITextView专题
frame.size.height = self.serTextView.contentSize.height;
江中散人_Jun
2023/10/16
5620
【IOS开发基础系列】UITextView专题
UI篇- UIWebView使用大全
UIWebView是常用开发控件,对于一些常用的设置是有必要记住或者记录下来的。 这里特别说一下,对于一个工程中整个就是一个WebView的情况,你可以通过一些设置来使整个工程显得接近于原生开发的APP,这样你是有机会被审核通过的。
進无尽
2018/09/12
2.2K0
UI篇- UIWebView使用大全
iOS开发:与网页加载相关的字符串操作技巧
需求1 有的html字符串中无法显示\,而是显示为&quot;。这时需要将&quot;等类似的字符转化为HTML中的\等。还有&lt;和&gt;等本应该代表标签符号的字符,也需要换成<和>等。 - (NSString *)htmlEntityDecode:(NSString *)string { string = [string stringByReplacingOccurrencesOfString:@"&quot;" withString:@"\""]; string = [str
陈满iOS
2018/09/10
7600
iOS开发 UIlabel 文字两边对齐
1、给UIlabel添加一个分类即可,代码如下: 必须导入这个头文件:CoreText/CoreText.h - (void)changeAlignmentRightandLeft{ CGRect textSize = [self.text boundingRectWithSize:CGSizeMake(self.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTr
czjwarrior
2018/05/28
2.2K0
50行代码实现图文混排案例一
现在即时通讯和朋友圈这两块功能基本上属于app的标配功能了吧。图文混排在这两块中使用最为常见,我已经做好了demo:图文混排demo。
Haley_Wong
2018/08/22
1.2K0
50行代码实现图文混排案例一
UILabel显示固定行数的问题
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53260997
用户1451823
2018/09/13
1.4K0
iOS 富文本编辑器
之前项目是用H5写的编辑器,效果不好,想着用原生自己好操作些,百度搜索一下,发现ZSSRichTextEditor很好用。 项目需求就是类似于实现富文本功能,可以换行,左右对齐,修改字体颜色等,选择这个的原因不光因为它可以实现以上功能,他还可以把输入好的文字转换成html。 但是ZSSRichTextEditor不能修改字体,中文输入可以,英文却不可以,查看代码: case ZSSFontFamilyPalatino: fontFamilyString = @"Palatino Linoty
honey缘木鱼
2018/06/08
2.3K0
Flutter中富文件标签的解决方案
在 Flutter 中,有点发愁,因为 Flutter 提供的 Text 与 RichText 还解析不了这种格式的,但是你也不能使用 WebView 插件,如果使用了,你会在每一个Item中嵌入一个浏览器内核,再强的手机,也会卡,当然肯定不能这样做,因为这样就是错误的做法。
早起的年轻人
2020/09/19
1.6K0
iOS文本尺寸自适应异步计算实现
目前市面上的非UI线程文本算高方法或多或少都有一些问题。本文通过逆向和分析UILabel的sizeThatFits方法实现来得到一个最佳的文本算高的精简方法。方法可以运行在任意线程,因此可以有效的应用在那些异步算高或者要求尺寸进行提前计算的场景中。
欧阳大哥2013
2020/07/24
1.6K0
实践-小效果 II
UIApplication *app = [UIApplication sharedApplication]; // 应用程序右上角数字 app.applicationIconBadgeNumber = 99;
進无尽
2018/09/12
1.3K0
实践-小效果 II
iOS富文本使用指南: 1、封装富文本API,采用block实现链式编程 2、 超链接属性 3、HTML字符串与富文本互转
iOS开发效率工具:完整SDK源码【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)
公众号iOS逆向
2021/03/08
1.6K0
iOS富文本使用指南: 1、封装富文本API,采用block实现链式编程 2、 超链接属性 3、HTML字符串与富文本互转
iOS文本布局探讨之三——使用TextKit框架进行富文本布局
        关于图文混排,其实以前的博客已经讨论很多,在实际开发中,经常使用第三方的框架来完成排版的需求,其中RCLabel和RTLabel是两个比较好用的第三方库,他们的实现都是基于UIView的,通过更底层的CoreText相关API来进行图文处理。相关介绍博客地址如下:
珲少
2018/08/15
2.4K0
iOS文本布局探讨之三——使用TextKit框架进行富文本布局
iOS开发小技巧:根据文本,字体,计算UILabel高度及宽度
关于boundingRectWithSize,系统API有几个类的相关方法。搜索官方文档,可见如下:
陈满iOS
2018/09/10
5.7K0
iOS开发小技巧:根据文本,字体,计算UILabel高度及宽度
UILabel在开发中的常用功能总结
在项目开发中,我们经常会遇到在这样情形: 1、在一个UILabel 使用不同的颜色或不同的字体来体现字符串 在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的attributedText, 使用不同颜色和不同字体的字符串,我们可以使用NSAttributedText 和 NSMutableAttributedText 类来实现。
Python疯子
2018/09/06
1.1K0
UILabel在开发中的常用功能总结
iOS crash分析实践
从堆栈可以看出是indexPath无效,通常是indexPath的section或者row超过了数据的大小;
落影
2020/06/16
1.8K0
小说阅读器的设计和实现
阅读器的基本功能是文字展示、翻页滚动,以及目录展示、进度切换、调整字号和主题切换等,扩展功能包括文本选择和复制,可能还会有第三方分享的定制化界面等。
落影
2020/02/18
4.3K0
小说阅读器的设计和实现
UI篇-CATextLayer和 富文本的交融
CATextLayer适用于IOS或者MAC,比UIlablel 和 NSTextView 能做的事很多,可以这样说UIlablel是通过CATextLayer实现的,身为CALayer的三大子类之一,它的功能远比 UIlablel 强大的多的多,其最主要的特点是CATextLayer可以被NSMutableAttributedString直接附值。而NSMutableAttributedString有可以最自己内容作出颜色以及大小的调整,这样结合起来使用的话,就远比UILabel 灵活的多,效果也酷炫的多,也许CATextLayer就是为了NSMutableAttributedString而生的,(哈哈,开个玩笑)。下面就简要介绍下CATextLayer 的常规使用,不足之处,还望朋友们下面留言补充,不胜感谢。 苹果官网给出CATextLayer的API解释
進无尽
2018/09/12
2.8K0
UI篇-CATextLayer和 富文本的交融
iOS Label加载HTML
Label加载富文本 func getHtml(){ guard let filePath = Bundle.main.path(forResource: "demo", ofType: "h
码客说
2019/10/22
1.9K0
相关推荐
html图片自适应div大小_未知宽高的div元素垂直水平居中
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档