Я пытаюсь настроить NSCollectionView с раскладкой потока в вертикальной ориентации. Чтобы быстро протестировать источник данных, я возвращаю статические числа и представления из collectionView(_:numberOfItemsInSection:)
и collectionView(_:itemForRepresentedObjectAtIndexPath:)
соответственно.Collection View items overlapping
Вот методы:
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 –