gpt4 book ai didi

Cocoa:以编程方式将 NSView 相互链接以使布局变得简单?

转载 作者:行者123 更新时间:2023-12-03 17:26:42 24 4
gpt4 key购买 nike

我想布置几行 NSView。每行将以 5 个 NSView 开始,可以在开始的 5 个 NSView 之间、开头或结尾任意添加或删除 View 。

1) 如果我不手动跟踪每个元素的大小、计算位置并放置每个元素,我怎样才能让它们自行排列?我怎么说“NSView2 位于 NSView1 的右侧,间隙为 10 像素”?

2) 什么数据结构对于持有这些 View 有意义并且最简单地通过 Cocoa 维护位置关系?另外,我需要在最后返回并从左到右迭代此列表。

最佳答案

如果所有 View 的大小相同,请使用 NSCollectionView/Item。否则,您实际上别无选择,只能自己维护网格(和平铺机制)。

如果您的 View “流动”或“换行”(即,在第 2 行中插入一个 View 将第 2 行中的最后一个 View 推到第 3 行中的第一个位置),则您必须至少从从最好情况下的插入位置开始。

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

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

关于Cocoa:以编程方式将 NSView 相互链接以使布局变得简单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119487/

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