Cocoa:以编程方式将NSView相互链接以简化布局?

Cocoa:以编程方式将NSView相互链接以简化布局?,cocoa,Cocoa,我想布置好几行视图。每行都以5个NSViews开头,可以在开头或结尾任意添加或删除5个NSViews之间的视图 1如果我不手动跟踪每个位置的大小,计算位置并放置每个位置,我如何让这些布局自己?如何说NSView2位于NSView1的右侧,间距为10像素 2什么样的数据结构才能保存这些视图,并且最简单地通过Cocoa维护位置关系?此外,我还需要在最后返回并从左到右遍历此列表。如果所有视图的大小都相同,请使用NSCollectionView/Item。否则,除了自己维护网格和平铺机制之外,您真的没有

我想布置好几行视图。每行都以5个NSViews开头,可以在开头或结尾任意添加或删除5个NSViews之间的视图

1如果我不手动跟踪每个位置的大小,计算位置并放置每个位置,我如何让这些布局自己?如何说NSView2位于NSView1的右侧,间距为10像素


2什么样的数据结构才能保存这些视图,并且最简单地通过Cocoa维护位置关系?此外,我还需要在最后返回并从左到右遍历此列表。

如果所有视图的大小都相同,请使用NSCollectionView/Item。否则,除了自己维护网格和平铺机制之外,您真的没有其他选择

如果视图流动或换行,即在第2行中插入一个视图会将第2行中的最后一个视图推到第3行中的第一个位置,则在最佳情况下,您必须至少从插入位置开始进行布局

如果您的视图不换行,那么就容易多了。你只需要重新做那一行的布局,实际上,你希望一行有多少视图?如果太多而无法快速布局,那么应该重新考虑您的设计,从插入索引开始

如果需要更详细的信息,则需要准确指定布局的预期行为