Pour une raison quelconque, mon NSCollectionView
(qui utilise une mise en page personnalisée que j'ai écrit) appelle collectionView(_:didSelectItemsAt:)
de son délégué fonction lorsque je clique sur un élément, mais pas collectionView(_:didDeselectItemsAt:)
de ce même délégué lorsque je clique sur off il.CollectionView (_: didDeselectItemsAt :) est jamais appelé
Voici ma configuration de base:
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)
}
}
« Désélectionné » est jamais imprimé ...:/
connexes: [NSCollectionView désélectionner sélection multiple] (https://stackoverflow.com/questions/40472377/nscollectionview-deselect-multiple-selection) –