iOS DTCoreText 加载html富文本 pod 集成方式

@高效码农  April 18, 2020

由于项目中后台文章是用富文本编辑器保存的html代码,iOS端需要展示html的富文本;所以测试使用DTCoreText控件,但是最后因为图片加载失败导致崩溃,没有使用;特此记录。

一、pod方式集成:

在Podfile文件中添加

  # 富文本显示
  pod 'DTCoreText'

在项目目录下:

pod install

二、编写代码

在使用的类中或者在宏定义文件中引入:

#import <DTCoreText/DTCoreText.h>

代码简单测试:

NSString *html = @"<a>https://www.xugj520.cn/</a>";
NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding];

NSAttributedString *attrString = [[NSAttributedString alloc] initWithHTMLData:data documentAttributes:NULL];
NSLog(@"%@", attrString);

2020-04-17T11:43:33.png

详细使用介绍:https://docs.cocoanetics.com/DTCoreText/

三、出现的问题:

1、当远程图片无法加载时,程序崩溃;
2、当html代码超过5000左右的字符时会出现

Warning: A DTAttributedLabel with size {964, 1764} is using a non-tiled layer. Set the layer class to a CATiledLayer subclass with [DTAttributedTextContentView setLayerClass:[DTTiledLayerWithoutFade class]]

3、不知道是我前端技术不过关还是iOS对H5新增标签不支持(如:section、article)
感觉是将seciton变为了div;有懂的希望留言赐教~~~



评论已关闭

  1. LH

    我也出现了这个问题 亲 怎么处理的啊?后来怎么解析的富文本?

    1. @LH

      UILabel富文本,图文混排