Skip to content

Latest commit

 

History

History
22 lines (14 loc) · 702 Bytes

File metadata and controls

22 lines (14 loc) · 702 Bytes

任务

构建一个RenderTree

RenderTree 介绍

RenderTree 负责接收 LayoutTree 的布局结果进行绘制。

注意:绘制任务现在已经在LayoutTree中写好了,需要将绘制任务从LayoutTree中迁移到RenderTree中

创建RichView负责绘制

需要创建一个名为 RichView 的自定义 UIView 来负责绘制,同时 RichView 也是用户直接使用的富文本渲染器。

RichView 负责接收一个用户构造的ElementTree。

RichView 有一个 layout 方法,负责完成布局,函数签名如下;layout 方法可以在子线程调用,完成子线程布局和算高。

public func layout(_ preferWidth: CGFloat) -> CGSize {
    ...
}