问题描述
当 NSCollectionViewItem 添加 mouseDown 时,DidSelectItemsAt 不再起作用。
我是不是做错了什么?
我是新手。希望有好心人帮帮我
================================================ ====================
class ViewController: NSViewController {
@IBOutlet weak var collextionView: NSCollectionView!
override func viewDidLoad() {
super.viewDidLoad()
collextionView.register(cell_item.self,forItemWithIdentifier: cell_item.item)
collextionView.delegate = self
collextionView.dataSource = self
collextionView.isSelectable = true
// Do any additional setup after loading the view.
}
override var representedobject: Any? {
didSet {
// Update the view,if already loaded.
}
}
}
extension ViewController:NSCollectionViewDelegate,NSCollectionViewDataSource{
func collectionView(_ collectionView: NSCollectionView,numberOfItemsInSection section: Int) -> Int {
return 8
}
func collectionView(_ collectionView: NSCollectionView,itemForRepresentedobjectAt indexPath: IndexPath) -> NSCollectionViewItem {
let item = collectionView.makeItem(withIdentifier: cell_item.item,for: indexPath)
return item
}
func collectionView(_ collectionView: NSCollectionView,didSelectItemsAt indexPaths: Set<IndexPath>) {
//No effect here
print("item select !")
}
}
class cell_item: NSCollectionViewItem {
static let item = NSUserInterfaceItemIdentifier(rawValue: "cell_item")
override func loadView() {
self.view = NSView()
self.view.wantsLayer = true
self.view.layer?.backgroundColor = #colorLiteral(red: 0.2745098174,green: 0.4862745106,blue: 0.1411764771,alpha: 1)
}
override func mouseDown(with event: NSEvent) {
print("item mouse down")
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)