在mouseDown上的NSCollectionView中选择Item,而不是mouseUp?

时间:2018-04-09 22:13:41

标签: macos cocoa appkit nscollectionview

我想这样做,以便我的NSCollectionView的选择行为与Finder中的图标视图相匹配。单击鼠标按钮时,Finder将选择并突出显示元素,但NSCollectionView的内置行为似乎使用鼠标向上触发选择。

有没有办法让NSCollectionView在这方面像Finder一样?

1 个答案:

答案 0 :(得分:0)

根据上面的pfandtrade评论,看起来NSCollectionViewItem的高亮状态将在选择该项之前更改。

mouseDown = NSCollectionViewItem的highlightState设置为forSelection

mouseUp = NSCOllectionViewItem的highlightState设置为none,但isSelected属性则设置为true。

我将以下内容添加到我的NSCollectionViewItem子类中:

override var highlightState: NSCollectionViewItemHighlightState{
    didSet{
        if self.highlightState == .forSelection{
            self.showSelectedHighlight() //my stylization function
        }
    }
}