CTFramesetterSuggestFrameSizeWithConstraints when wrapping text
我遇到了 CoreText 的"鸡或蛋"问题。
我需要知道
我有一个 UITableView,它在右上角显示文本和图像。
在我的模型上,我存储
我的模型实体加载时,然后在
中将我的单元格传递给
我还使用我的 frameSetter 和
这很简单,我现在有一个对象数组,这些对象有一个要渲染的 AttributedString、一个用来渲染它们的 frameSetter 和一个高度,因此 tableView 在更新单元格之前知道这一点。
现在我想在右上角的图像周围环绕文字。
当我想预先计算这些值时,这会带来一些问题。
据我所知,我需要一个 CTFrameSetter 来计算尺寸
(使用 CTFramesetterSuggestFrameSizeWithConstraints)。
如果我的框架是矩形的,这只会给我大小 - 如果我想package文本,我需要创建一个路径并设置它的大小 - 但这是在我知道大小之前!
然后我需要将路径添加到字典并使用字典构建 CTFrameRef。
我的问题是如何预先计算单元格的高度,如果我的属性文本包裹在图像周围?
你需要逐行布局: