我想构建一个类似于 iPhoto '11 中的 NSCollectionView 。我想将几张图片分组到部分中,并创建一个部分标题。特定节的节标题始终可见,直到该节的最后一个元素可见。你可以看看图片就明白我的意思了。
编辑:我应该补充一点,内容不是图像。
提前致谢
您可能需要直接考虑使用 CALayers。NSCollectionView
它的大部分魔力来自 CoreAnimation IIRC,看起来您可能必须复制其中一些。或者,您可以尝试使用嵌套集合视图 - 一个包含组,然后每个组包含另一个单独项目的集合视图。
无论哪种方式,您的视图/图层层次结构都将是相同的。您将拥有一个只有一列的顶级容器(因为组延伸到整个宽度),然后其中的每个项目将具有任意数量的列,具体取决于项目宽度。即,您的“组”集合视图项目将拉伸至填充宽度,但这些组中的各个项目不会。
如果您选择使用原始CALayer
方法,那么你会想看看CAConstraintLayoutManager
。这就是提供内部魔力的原因NSCollectionView
。开始寻找这方面信息的好地方是Bill Dudney 的 CoreAnimation 书,来自 Pragmatic Programmers。比尔现在是苹果的官方平台布道者,所以我认为可以肯定地说他知道他在那里谈论的是什么。
总的来说,我建议使用嵌套NSCollectionView
方法开始,只有当性能似乎缺乏,或者你在某些东西工作时遇到问题时,才考虑下降到原始 CoreAnimation。使用NSCollectionView
让您保留当前的所有NSView
- 到位,所以工作量会减少。如果结果没问题,那么你就可以回家了。如果没有,您还可以尝试其他方法,您可以根据自己的喜好进行调整。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)