提问人:mrrxgers 提问时间:10/25/2023 最后编辑:mrrxgers 更新时间:10/25/2023 访问量:62
NSMenuItem 更新到 Sonoma 后不可单击
NSMenuItem not clickable after updating to Sonoma
问:
我有一个 CEF 应用程序,其中菜单栏是以编程方式设置的。在 Ventura 上,菜单栏的行为符合预期,但在更新到 Sonoma 后,单击任何菜单项都不会展开它。这包括 Apple 菜单。
void setup_menu()
{
@autoreleasepool
{
NSMenu* menubar = [NSMenu new];
[NSApp setMainMenu:menubar];
NSMenuItem *appMenuItem = [menubar addItemWithTitle:@"" action:nil keyEquivalent:@""];
NSMenu *appMenu = [NSMenu new];
[menubar setSubmenu:appMenu forItem:appMenuItem];
[appMenu addItemWithTitle:@"Hide" action:@selector(hide:) keyEquivalent:@"h"];
[appMenu addItemWithTitle:@"Quit" action:@selector(terminate:) keyEquivalent:@"q"];
NSMenuItem *editMenuItem = [menubar addItemWithTitle:@"" action:nil keyEquivalent:@""];
NSMenu *editMenu = [[NSMenu alloc] initWithTitle:@"Edit"];
[menubar setSubmenu:editMenu forItem:editMenuItem];
[editMenu addItemWithTitle:@"Cut" action:@selector(cut:) keyEquivalent:@"x"];
[editMenu addItemWithTitle:@"Copy" action:@selector(copy:) keyEquivalent:@"c"];
[editMenu addItemWithTitle:@"Paste" action:@selector(paste:) keyEquivalent:@"v"];
[editMenu addItemWithTitle:@"Select All" action:@selector(selectAll:) keyEquivalent:@"a"];
}
}
- 此函数在创建窗口之后但在显示窗口之前调用。
- 我定义的快捷方式都有效。
- 我定义的 NSMenuItems 都已启用并显示在菜单栏中,但无法与之交互。
为什么这种情况只发生在索诺玛,我该如何解决?
答: 暂无答案
上一个:如何在 iOS 上摆动类方法?
下一个:在iOS 12上启动时崩溃
评论