我想設置一個垂直方向的流佈局的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 –