Macos 如何将isAlternative与带有customView的NSMenuItem一起使用?
我正在尝试将isAlternative属性与具有自定义视图的NSMenuItem一起使用。在没有自定义视图的情况下,它不能作为标准NSMenuItem运行。在自定义视图中使用NSMenuItems时,如何获得标准的修改器键切换行为 标准菜单项行为 添加一个菜单项。 添加一个额外的菜单项,其中.isAlternate==true,.keyEquivalentModifierMask=[.option](或另一个适当的修改器键) 显示菜单时,将显示第一个菜单项。按住修改器键时,原始菜单项将替换为备用菜单项 自定义菜单项行为 添加具有自定义视图的菜单项。 使用.isAlternate==true和.keyEquivalentModifierMask=[.option](或其他适当的修改器键)的自定义视图添加其他菜单项 显示菜单时,将始终显示原始菜单项和备用菜单项,而不是标准切换行为 参考文献Macos 如何将isAlternative与带有customView的NSMenuItem一起使用?,macos,cocoa,nsmenu,nsmenuitem,nsstatusbar,Macos,Cocoa,Nsmenu,Nsmenuitem,Nsstatusbar,我正在尝试将isAlternative属性与具有自定义视图的NSMenuItem一起使用。在没有自定义视图的情况下,它不能作为标准NSMenuItem运行。在自定义视图中使用NSMenuItems时,如何获得标准的修改器键切换行为 标准菜单项行为 添加一个菜单项。 添加一个额外的菜单项,其中.isAlternate==true,.keyEquivalentModifierMask=[.option](或另一个适当的修改器键) 显示菜单时,将显示第一个菜单项。按住修改器键时,原始菜单项将替换为备用
AFAIK您不能-它不适用于
isAlternative
,您必须自己实现它。不幸的是,据我所知,键盘事件(包括修改器标志)没有传播到NSMenu。如果我设置了一个外部事件监听器,我需要向用户请求完全可访问性权限,这似乎太多了。有没有一种简单或明显的方法可以添加我忽略的键盘处理程序?好吧,你不能-它不适用于isAlternative
,你必须自己实现它。不幸的是,据我所知,键盘事件(包括修改器标志)没有传播到NSMenu。如果我设置了一个外部事件监听器,我需要向用户请求完全可访问性权限,这似乎太多了。有没有一种简单或明显的方法来添加我忽略的键盘处理程序?