我正在寻找有关实现视图的指导,该视图在带有孔的多边形内呈现NSAttributedString
,包裹和回流文本以适合几何体。问题不是CoreText
,而是将不规则形状划分为深蹲矩形的有序序列的一般问题。
类似的问题尚未得到充分回答:
如何使用Javascript中的文本填充形状
CoreText的CTFramesetter
不支持呈现为CGPath
CoreText处理与文本布局和显示相关的令人难以置信的大量工作,所以我不禁怀疑我正在重新发明一个轮子。出于这个问题的目的,请假设我可以检查适合给定矩形的子字符串,同时考虑自动换行和连字符。
编辑:我决定从左到右的绘图尽可能多地适应边界。虽然我打破了自然界限,但看起来有点随意,所以我仍然很欣赏其他应用程序如何包装文本的指导。
编辑#2:现在它看起来很不错,它支持基本的自动换行并避免渲染很短的行。我的问题一定太模糊了。谢谢你的期待。
编辑#3: Amorya指出CTFramesetter
now accepts any CGPath
。
答案 0 :(得分:6)
我写了一篇关于使用Core Text实现文本换行的博文:
http://blog.amyworrall.com/post/11098565269/text-wrap-with-core-text
此功能是iOS 4.3和MacOS X Lion中的新功能。您现在可以首先绘制非矩形路径,然后通过其他路径来屏蔽流(即,您可以包围的孔)。