Ios 如何检测彩色面板';Mac Catalyst应用程序中的颜色变化?
在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属
单击工具栏项目时,将显示
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
听的基本事件。你可以很容易地自己做。