gpt4 book ai didi

objective-c - 如何更改 NSToolBar 背景颜色?

转载 作者:行者123 更新时间:2023-12-04 14:33:36 26 4
gpt4 key购买 nike

我正在使用 NSToolbar 并且我正在尝试将颜色更改为白色而不是默认的灰色。我怎样才能做到这一点?

最佳答案

由于工具栏集成到窗口标题栏中,您需要同时绘制标题栏工具栏。这基本上意味着您需要接管整个窗口的绘图。

这需要“调配”,虽然效果很好,但不受 Apple 支持,因此可能会导致您的应用被应用商店拒绝。

基本上,您需要通过使用 objective-c 运行时函数修改类定义,将您自己的代码注入(inject)到 NSWindow 类中。请注意,这会影响您应用中的所有窗口,因此您需要使用 if 语句检查这是否是您要修改的窗口。

子类 NSWindow,在 +initialize 方法中,找到“frame view”类,它是执行大部分窗口绘制的类,并将它的“drawRect:”方法重命名为“originalDrawRect” :”。然后在类上定义一个新的“drawRect:”方法,作为 NSWindow 子类中方法的副本。此方法应首先调用 originalDrawRect,然后在其上进行自定义绘制。

注意:您将在窗口标题文本的顶部绘制...因此需要将绘图模式更改为 kCGBlendModeColor 或其他内容。或者再次绘制标题字符串。你可以询问窗口标题文本应该画在哪里。

这是一篇包含更多详细信息的完整文章:http://parmanoir.com/Custom_NSThemeFrame

关于objective-c - 如何更改 NSToolBar 背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26371550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com