objective-c – 检测NSColorWell的更改选择

objective-c – 检测NSColorWell的更改选择,第1张

概述我一直在研究如何在我的应用程序中使用NSColorWell,但似乎没有太多的文档. 有没有办法将颜色选择器(例如NSColorWell / NSColorPanel)直接嵌入到我的视图中?单击井时,它始终显示一个新的颜色选择窗口.这不能以某种方式嵌入吗? 我有一个自定义NSButton类,我从NSColorWell传递颜色.要做到这一点,我必须让用户选择一种颜色,然后单击一个按钮将此颜色发送到我的 我一直在研究如何在我的应用程序中使用NScolorWell,但似乎没有太多的文档.

有没有办法将颜色选择器(例如NScolorWell / NScolorPanel)直接嵌入到我的视图中?单击井时,它始终显示一个新的颜色选择窗口.这不能以某种方式嵌入吗?

我有一个自定义NSbutton类,我从NScolorWell传递颜色.要做到这一点,我必须让用户选择一种颜色,然后单击一个按钮将此颜色发送到我的自定义类.有没有办法简单地检测何时直接从颜色选择器中选择新颜色?

解决方法 对于问题1,不,这是NScolorWell的系统行为.不喜欢吗?做你自己的.

问题2有两种可能的解决方案.

方法1:将颜色井中的动作连接到IB中的对象,并通过班级的插座读取颜色的颜色.井中的任何颜色变化都会向您选择的选择器发送消息.

方法2:将您自己的对象作为观察者添加到color属性

[colorwell addobserver:self forKeyPath:@"color" options:0 context:NulL];

然后实施

- (voID)observeValueForKeyPath:(Nsstring *)keyPath ofObject:(ID)object change:(NSDictionary *)change context:(voID *)context

任何颜色变化都会触发该方法.

确保以dealloc或其他分解方法从颜色井中分离:

[colorwell removeObserver:self forKeyPath:@"color"]

有一种方法可以用绑定来做,但这两个都很好.

总结

以上是内存溢出为你收集整理的objective-c – 检测NSColorWell的更改选择全部内容,希望文章能够帮你解决objective-c – 检测NSColorWell的更改选择所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1002128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存