gpt4 book ai didi

cocoa - NSCollectionView 与部分 - 就像在 iPhoto 中一样

转载 作者:行者123 更新时间:2023-12-03 16:05:34 25 4
gpt4 key购买 nike

我想构建一个类似于 iPhoto '11 中的 NSCollectionView。我想将几张图片分组到部分中,并创建一个部分标题。特定节的节标题始终可见,直到该节的最后一个元素可见。你可以看一下图片来明白我的意思。

编辑:我应该补充一点,内容不是图像。

enter image description here

提前致谢

最佳答案

您可能需要考虑直接使用 CALayers。 NSCollectionView 的大部分魔力来自 CoreAnimation IIRC,看起来您可能必须复制其中的一些。或者,您可以尝试使用嵌套 Collection View - 一个包含组,然后每个组包含另一个单独项目的 Collection View 。

无论哪种方式,您的 View /图层层次结构都将是相同的。您将拥有一个只有一列的顶级容器(因为组延伸到整个宽度),然后其中的每个项目将具有任意数量的列,具体取决于项目宽度。即,您的“组” Collection View 项目将拉伸(stretch)至填充宽度,但这些组中的各个项目不会。

如果您选择使用原始 CALayer 方法,那么您需要查看 CAConstraintLayoutManager。这就是 NSCollectionView 内部的魔力所在。开始寻找这方面信息的好地方是 Bill Dudney's CoreAnimation book from Pragmatic Programmers 。比尔现在是苹果的官方平台布道者,所以我认为可以肯定地说他知道他在说什么。

总的来说,我建议首先使用嵌套的 NSCollectionView 方法,并且仅在性能似乎缺乏或者在获取某些内容时遇到问题时才考虑使用原始 CoreAnimation工作。使用 NSCollectionView 可以让您保留所有当前的 NSView 状态,因此工作量会减少。如果结果没问题,那么你就可以回家了。如果没有,您还可以尝试其他方法,并根据自己的喜好进行调整。

关于cocoa - NSCollectionView 与部分 - 就像在 iPhoto 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5370125/

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