gpt4 book ai didi

ios - NSLayoutManager 每段有一个 NSTextContainer

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:47:14 32 4
gpt4 key购买 nike

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

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

最佳答案

我认为最简单的方法是子类化 NSTextContainer 并覆盖

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

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

关于ios - NSLayoutManager 每段有一个 NSTextContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20201157/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com