首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSLayoutManager,每个段落都有一个NSTextContainer

NSLayoutManager,每个段落都有一个NSTextContainer
EN

Stack Overflow用户
提问于 2013-11-25 19:06:29
回答 2查看 835关注 0票数 3

如何使NSLayoutManager将其文本中的每个段落分配给不同的NSTextContainer?

这类似于TextKit中常见的多页/列用法,但每个页面对应一个不同的可变长度段落。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-11 05:06:02

我认为最简单的方法是子类NSTextContainer和重写

- (CGRect)lineFragmentRectForProposedRect:(CGRect)proposedRect atIndex:(NSUInteger)characterIndex writingDirection:(NSWritingDirection)baseWritingDirection remainingRect:(CGRect *)remainingRect

在您的自定义方法中,您将检查characterIndex上的属性,并查看它们是否与指定文本容器的段落相匹配。如果是,只需返回super的方法实现,否则返回CGRectZero以表示建议的rect对此文本容器无效。这意味着您必须跟踪段落属性及其相关的文本容器(反之亦然)。

票数 5
EN

Stack Overflow用户

发布于 2015-12-05 14:10:11

另一种方法是在每一段末尾插入分页控制字符(ASCII代码: 12)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20201157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档