Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在NSCollectionView中模拟NSTableView的项目高亮显示行为?_Macos_Cocoa_Nstableview_Nscollectionview_Nscollectionviewitem - Fatal编程技术网

Macos 如何在NSCollectionView中模拟NSTableView的项目高亮显示行为?

Macos 如何在NSCollectionView中模拟NSTableView的项目高亮显示行为?,macos,cocoa,nstableview,nscollectionview,nscollectionviewitem,Macos,Cocoa,Nstableview,Nscollectionview,Nscollectionviewitem,我有NSCollectionView,其中包含NSTextField和NSImageView的自定义项 我手动实现了集合视图项的高亮显示行为(即在我的NSCollectionViewItem子类中重新定义了setSelected:方法)。 我成功地更改了所选项目的背景色,但我错过了一件很小但很重要的事情:所选项目的文本颜色不会更改 我知道,NSTableView项目高亮显示会随背景色一起更改文本颜色,但我无法模拟它,因为我不知道颜色更改的算法。 myNSCollectionViewItems的文

我有
NSCollectionView
,其中包含
NSTextField
NSImageView
的自定义项

我手动实现了集合视图项的高亮显示行为(即在我的
NSCollectionViewItem
子类中重新定义了
setSelected:
方法)。 我成功地更改了所选项目的背景色,但我错过了一件很小但很重要的事情:所选项目的文本颜色不会更改

我知道,
NSTableView
项目高亮显示会随背景色一起更改文本颜色,但我无法模拟它,因为我不知道颜色更改的算法。 my
NSCollectionViewItems
的文本颜色可以不同。当我突出显示
NSTableView
中的项目时,灰色文本变为浅灰色,黑色变为白色,依此类推。 有人知道他们是怎么做到的吗?也许可可API中有一个现成的解决方案我错过了?请帮忙