如何使NSLayoutManager将其文本中的每个段落分配给不同的NSTextContainer?
这类似于TextKit中常见的多页/列用法,但每个页面对应一个不同的可变长度段落。
发布于 2013-12-11 05:06:02
我认为最简单的方法是子类NSTextContainer和重写
- (CGRect)lineFragmentRectForProposedRect:(CGRect)proposedRect atIndex:(NSUInteger)characterIndex writingDirection:(NSWritingDirection)baseWritingDirection remainingRect:(CGRect *)remainingRect
在您的自定义方法中,您将检查characterIndex上的属性,并查看它们是否与指定文本容器的段落相匹配。如果是,只需返回super的方法实现,否则返回CGRectZero以表示建议的rect对此文本容器无效。这意味着您必须跟踪段落属性及其相关的文本容器(反之亦然)。
发布于 2015-12-05 14:10:11
另一种方法是在每一段末尾插入分页控制字符(ASCII代码: 12)。
https://stackoverflow.com/questions/20201157
复制相似问题