objective-c - 如何获取动态 NSMenu 以使用 Mojave 深色模式?

标签 objective-c macos cocoa nsmenu macos-darkmode

我的操作系统设置为深色模式,并且我的整个应用程序都可以正确渲染,除了一些动态创建的 NSMenu 实例,它们以旧的浅色样式渲染。

如何使用深色视觉样式呈现这些菜单?

最佳答案

仅当您指定父 View 时,才会应用深色视觉样式。

如果这里viewnil,则将使用旧样式:

NSMenu* menu;
NSView* view; // cannot be nil
[menu popUpMenuPositioningItem:nil atLocation:NSMakePoint(0, 0) inView:view];

关于objective-c - 如何获取动态 NSMenu 以使用 Mojave 深色模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56092167/

相关文章:

ios - 将 NSInteger 转换为 NSString Xcode iOS8

ios - 在 iOS 中暂停动画( Objective-C )

macos - 以编程方式获取系统安装日期

macos - 如何使用 Mail/Finder 之类的控件创建工具栏

bash - 如何在 OS X 上编辑 $PATH (.bash_profile)?

xcode - Xcode 4 在哪里隐藏开发中应用程序的首选项 plist 文件

iphone - UITextField 文本未出现在中心

javascript - 如何将 HMHome 转换为 React Native 的 JavaScript?

macOS:无法将 NSTextField 置于基于自定义 NSView 的类中

objective-c - 像Cloud App一样在Mac上自动上传截图