Как описано выше, мой NSCollectionView не работает, когда один выбор.NSCollectionView одиночный выбор не работает, но множественный выбор в порядке
MyNSCollectionView визуализируется correcttly,
ниже код показывает, как я инициализировать мой NSCollectionView:
self.leftBar.dataSource = self
self.leftBar.delegate = self
self.leftBar.isSelectable = true
self.leftBar.allowsEmptySelection = true
let layout = NSCollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.itemSize = NSSize(width: 200 , height: 50)
leftBar.collectionViewLayout = layout
self.contentView.addSubview(leftBar)
leftBar <- [
Top(),
Left(),
Bottom(),
Width(200)
]
Выборочная NSCollectionViewItem
class LeftBarCell: NSCollectionViewItem {
var leftBarView : LeftBarView?
override func loadView() {
leftBarView = LeftBarView(frame: NSZeroRect)
view = leftBarView!
}
func setup(title : String){
leftBarView?.titleTextView.string = title
}
}
В LeftBarView
class LeftBarView: NSView {
lazy var titleTextView : NSTextView = {
let titleTextView = NSTextView()
titleTextView.isEditable = false
titleTextView.isSelectable = false
titleTextView.font = NSFont(name: "Helvetica", size: 20)
return titleTextView
}()
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
self.setupViews()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
func setupViews(){
self.addSubview(titleTextView)
self.wantsLayer = true
self.layer?.backgroundColor = NSColor.lightGray.cgColor
titleTextView <- Edges()
}
}
Я пытался играть с
self.leftBar.isSelectable = true
leftBar.allowsMultipleSelection = true
и множественный выбор работает. didSelectItemsAt
от NSCollectionViewDelegate
срабатывает
Но тогда, когда я пытаюсь с этим
self.leftBar.isSelectable = true
или
self.leftBar.isSelectable = true
self.leftBar.allowsEmptySelection = true
Это не работает, когда я нажимаю на collectionviewitem, didSelectItemsAt
из NSCollectionViewDelegate
является не срабатывает.
Любые мысли будут оценены, спасибо!