NSCollectionView DidSelectItemsAt 无效

问题描述

当 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 (将#修改为@)