【发布时间】:2012-09-16 22:35:30
【问题描述】:
我正在尝试更改 NSMenu 的不透明度,我制作了自定义 NSMenuItems 并更改了它们的不透明度,但它们后面仍然是白色的菜单,我正在寻找一种方法来改变颜色和不透明度菜单背景。我想知道这是否可能?
问候
【问题讨论】:
标签: objective-c cocoa opacity nsmenuitem nsmenu
我正在尝试更改 NSMenu 的不透明度,我制作了自定义 NSMenuItems 并更改了它们的不透明度,但它们后面仍然是白色的菜单,我正在寻找一种方法来改变颜色和不透明度菜单背景。我想知道这是否可能?
问候
【问题讨论】:
标签: objective-c cocoa opacity nsmenuitem nsmenu
我认为没有一种优雅的方法可以做到这一点。 NSMenu 不是 NSView 的子类。渲染视图可能是菜单对象的私有变量。
NSMenuItem 有一个可以使用的view 属性。尝试设置自定义视图(如果您还没有),然后通过调用menuItem.view.superview 找到菜单的视图。然后设置该视图的alpha 属性。
或者,您可以尝试使用class-dump 之类的工具查找NSMenu 的私有view 属性。请注意,使用私有变量绝不是一个好主意。特别是如果您打算在 App Store 上发布该应用。
【讨论】: