我想设置一个垂直方向的流布局的NSCollectionView。为了快速测试数据源,我分别从collectionView(_:numberOfItemsInSection:)
和collectionView(_:itemForRepresentedObjectAtIndexPath:)
返回静态数字和视图。收集查看重叠的项目
这里是方法:
func collectionView(collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return 2
}
func collectionView(collectionView: NSCollectionView,
itemForRepresentedObjectAtIndexPath indexPath: NSIndexPath) -> NSCollectionViewItem {
let item = NSCollectionViewItem()
let view = NSView()
item.view = view
view.wantsLayer = true
view.layer?.backgroundColor = CGColorCreateGenericGray(0, 0.5)
view.translatesAutoresizingMaskIntoConstraints = false
view.widthAnchor.constraintEqualToConstant(100).active = true
view.heightAnchor.constraintEqualToConstant(100).active = true
return item
}
基本上,我总是返回2个NSCollectionViewItems是全黑的,50%的不透明度。当我运行应用程序时,它将两个视图放在一起。
下面是一个分解示出这两个视图:
每个项被设置为具有在每个方向上的尺寸50×50的,和10的最小间距。
我错过了什么?什么使这些视图分开?在documentation中,它表示:
通常,您可以使用此类的属性指定项目的大小及其间距。如果要为项目自定义值,请在指定为集合视图委托的对象中实现NSCollectionViewDelegateFlowLayout协议的方法。
我没有实现这个委托,所以不应该与我在接口构建器(50x50和10间距)放置的值一起工作吗?
另外,你是如何做爆炸?这真的很酷...虽然它不能帮助我重叠的问题 – tofutim
它被称为调试视图层次结构。检查了这一点:https://stackoverflow.com/questions/28657634/xcode-cant-find-debug-view-hierarchy-button#28658019 –