iOS 富文本一些经验

最近接到一个需求,服务器传给客户端一段HTML字符串,可能带图片,但也可能返回一段纯文字,这样用webview显示的话就需要判断字符串内容,这样就不方便了。

这样只能使用NSAttributedString富文本加载

实例化

NSAttributedString *  attrStr = [ [NSAttributedString alloc] initWithData:[html dataUsingEncoding: NSUnicodeStringEncoding] options: @{NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType} documentAttributes:nilerror: nil];


计算高度

CGRect rect = [ attrStr boundingRectWithSize: CGSizeMake( 320 , CGFLOAT_MAX) options : NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context : nil];

设置

[label setAttributedText : attrStr ];


这时候可能会有一个,里面的图片显示不全,或者图片严重变形,看了下应该是服务器返回的HTML未设置好,那我就需要在前面拼接一些字符


如果需要图片大于320就缩放,小于320就显示图片大小的话


这样就可以显示了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容