将多个NSTextContainers添加到NSLayoutManager

时间:2014-08-18 14:36:00

标签: uitextview nstextview nslayoutmanager nstextstorage nstextcontainer

我注意到您可以使用addTextContainer:(NSTextContainer *)textContainer选择器将多个文本容器添加到Objective-C中的布局管理器中。使用TextKit,我只需要添加一个文本容器,当弄乱多个文本容器时,所有文本视图都会从链接到布局管理器的文本存储中填充相同的文本。我只是好奇,但什么时候需要将多个文本容器添加到一个布局管理器?

1 个答案:

答案 0 :(得分:1)

... NSTextStorage对象的数据,并将它们放在NSTextContainer对象定义的区域内。

此配置仅受一个NSTextContainer-NSTextView对的限制。在这种安排中,文本在NSTextContainer定义的区域内不间断地流动。

此安排无法满足分页符,多列布局和更复杂的布局。

通过使用多个NSTextContainer-NSTextView对,可以实现更复杂的布局布局。例如,为了支持分页符,应用程序可以配置文本对象,如图3-4所示。

常见配置

https://developer.apple.com/library/content/documentation/TextFonts/Conceptual/CocoaTextArchitecture/TextSystemArchitecture/ArchitectureOverview.html