我想构建一个类似于iPhoto '11中的NSCollectionView。我想在部分中分组几个图片,并创建一个部分标题。特定部分的节标题始终可见,直到该节的最后一个元素可见。你可以看一下图片,看看我的意思。
编辑:我应该补充说内容不是图像。
提前致谢
答案 0 :(得分:2)
您可能需要直接使用CALayers。 NSCollectionView
从CoreAnimation IIRC获得了大部分魔力,看起来你可能不得不重复其中的一些。或者,您可以尝试使用嵌套集合视图 - 一个包含组,然后每个组包含单个项目的另一个集合视图。
无论哪种方式,您的视图/图层层次都将是相同的。您将拥有一个只有一列的顶级容器(因为组在整个宽度上伸展),然后其中的每个项目将具有任意数量的列,具体取决于项目宽度。即,您的“群组”集合视图项目将延伸到填充宽度,但这些组中的各个项目不会。
如果您选择使用原始CALayer
方法,那么您需要查看CAConstraintLayoutManager
。这就是NSCollectionView
内部的魔力。开始查找相关信息的好地方是Bill Dudney's CoreAnimation book from Pragmatic Programmers。比尔现在是苹果公司的官方平台传播者,所以我认为可以说他知道他在那里谈论的是什么。
总的来说,我建议使用嵌套的NSCollectionView
方法开始,并且只有在性能似乎缺乏的情况下,或者如果您在使用某些内容时遇到问题,请查看原始CoreAnimation。使用NSCollectionView
可以让您保留所有当前NSView
- 所以它将会减少工作量。如果事实证明没问题那么你就是家。干。如果没有,你还有别的东西要尝试,你可以根据自己的内容进行调整。
答案 1 :(得分:-3)