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
Ios 如何检测彩色面板';Mac Catalyst应用程序中的颜色变化?_Ios_Macos_Mac Catalyst_Nscolorpanel - Fatal编程技术网

Ios 如何检测彩色面板';Mac Catalyst应用程序中的颜色变化?

Ios 如何检测彩色面板';Mac Catalyst应用程序中的颜色变化?,ios,macos,mac-catalyst,nscolorpanel,Ios,Macos,Mac Catalyst,Nscolorpanel,在Mac Catalyst中,有一个显示颜色面板的默认工具栏项 它显示的很好,但是我找不到一种方法来检测这个颜色面板的颜色变化。有人知道怎么做吗 单击工具栏项目时,将显示NSColorPanel的实例。可以从NSColorPanel.color访问所选颜色,但我们没有对所示面板的引用。Mac Catalyst应用程序甚至看不到类NSColorPanel 幸运的是,在颜色面板中选择一种颜色时,会发布一个。因此,我们只需观察该通知即可获取对NSColorPanel实例的引用,然后访问其color属

在Mac Catalyst中,有一个显示颜色面板的默认工具栏项

它显示的很好,但是我找不到一种方法来检测这个颜色面板的颜色变化。有人知道怎么做吗


单击工具栏项目时,将显示
NSColorPanel
的实例。可以从
NSColorPanel.color
访问所选颜色,但我们没有对所示面板的引用。Mac Catalyst应用程序甚至看不到类
NSColorPanel

幸运的是,在颜色面板中选择一种颜色时,会发布一个。因此,我们只需观察该通知即可获取对
NSColorPanel
实例的引用,然后访问其
color
属性:

NotificationCenter.default.addObserver(forName:.init(“nsColorPanelColorIDChangeNotification”),对象:nil,队列:nil){notification in
将color=(notification.object作为?NSObject)?.value(forKey:“color”)作为?UIColor
打印(“颜色改变”,颜色)
}

这是工作,但不确定它是否能通过审查。我很确定它会通过。你不能在这里访问任何私有API。所有内容都有文档记录。@Hejazi你能提供objective-c代码吗?@YogendraPatel好吧,这是你的家庭作业:)不过说真的,这是使用
NSNotificationCenter
听的基本事件。你可以很容易地自己做。