По какой-то причине, мой NSCollectionView
(который использует пользовательский макет, который я написал) называет collectionView(_:didSelectItemsAt:)
функции своего делегата, когда я нажимаю элемент, но не тот же делегат collectionView(_:didDeselectItemsAt:)
, когда я нажимаю от Это.CollectionView (_: didDeselectItemsAt :) никогда не называют
Вот моя основная установка:
class MyCollectionViewContainer: NSViewController {
fileprivate lazy var collectionView: NSCollectionView = {
let collectionView = NSCollectionView()
collectionView.delegate = self
collectionView.dataSource = self
collectionView.collectionViewLayout = self.customLayout
collectionView.isSelectable = true
collectionView.allowsEmptySelection = true
collectionView.allowsMultipleSelection = false
}()
}
extension MyCollectionViewContainer: NSCollectionViewDelegate {
func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
print("Selected", indexPaths)
// Mutate data to reflect that selection
}
func collectionView(_ collectionView: NSCollectionView, didDeselectItemsAt indexPaths: Set<IndexPath>) {
print("Deselected", indexPaths)
}
}
«дезактивирует» никогда не печатаются ...:/
Связанный: [NSCollectionView отменить множественный выбор] (https://stackoverflow.com/questions/40472377/nscollectionview-deselect-multiple-selection) –