我注意到您可以使用选择器将多个文本容器添加到 Objective-C 中的布局管理addTextContainer:(NSTextContainer *)textContainer
器。使用 TextKit,我只需要添加一个文本容器,当使用多个文本容器时,所有的 textviews 都会从链接到布局管理器的文本存储中填充相同的文本。我只是好奇,但我什么时候需要将多个文本容器添加到一个布局管理器?
问问题
1149 次
2 回答
2
当您需要关联的 NSTextStorage 中的文本跨越多个页面(通常每个页面都是一个NSTextView
)时,一个 NSLayoutManger 到多个文本容器,就像在文字处理器中将其文本分布在多个页面上一样。
NSLayoutManager
足够聪明,可以将文本分成NSTextStorage
每个NSTextContainer
.
于 2015-03-14T21:31:11.857 回答
1
... NSTextStorage 对象的数据并将它们布置在由 NSTextContainer 对象定义的区域内。
此配置受到只有一对 NSTextContainer-NSTextView 对的限制。在这样的安排中,文本在 NSTextContainer 定义的区域内不间断地流动。
这种安排无法适应分页符、多列布局和更复杂的布局。
通过使用多个 NSTextContainer-NSTextView 对,可以实现更复杂的布局安排。例如,为了支持分页符,应用程序可以配置文本对象,如图 3-4 所示。
常见配置
于 2017-08-01T01:38:09.507 回答