Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 使用NSMenuItem的自定义视图,在状态栏的NSMenu中,画外音不起作用_Macos_Voiceover_Custom View_Nsmenuitem - Fatal编程技术网

Macos 使用NSMenuItem的自定义视图,在状态栏的NSMenu中,画外音不起作用

Macos 使用NSMenuItem的自定义视图,在状态栏的NSMenu中,画外音不起作用,macos,voiceover,custom-view,nsmenuitem,Macos,Voiceover,Custom View,Nsmenuitem,我在NSStatusBar中添加了NSMenu。我使用了第一个NSMenuItem的自定义视图和setView:方法来包括progressIndicator。所有其他项目都是默认的 这里的问题是VO(残疾人画外音)。当我从设置->辅助功能->画外音中启用VO并按option+command+M+M时,它会聚焦于状态栏中的菜单。现在,我使用左右键导航到我的应用程序,然后按下打开菜单的向下键 我可以下载并选择我的选项,但不能从此处更改为其他应用程序(wifi、日期)。当我删除此自定义视图项目时,效果

我在
NSStatusBar
中添加了
NSMenu
。我使用了第一个
NSMenuItem
的自定义视图和
setView
:方法来包括
progressIndicator
。所有其他项目都是默认的

这里的问题是VO(残疾人画外音)。当我从设置->辅助功能->画外音中启用VO并按
option+command+M+M
时,它会聚焦于状态栏中的菜单。现在,我使用左右键导航到我的应用程序,然后按下打开菜单的向下键

我可以下载并选择我的选项,但不能从此处更改为其他应用程序(wifi、日期)。当我删除此自定义视图项目时,效果良好。我也在另一个应用程序中观察到了同样的情况

我是否需要为自定义视图设置任何属性

编辑

我在swift中创建了示例应用程序

        let menu = NSMenu()
        let menuitem1 = NSMenuItem()
        let view1 = NSView(frame: NSRect(x: 0, y: 0, width: 100, height: 30))
        menuitem1.view = view1
        menu.addItem(menuitem1)
        menu.addItem(NSMenuItem(title: "Print Quote", action: #selector(AppDelegate.printQuote(_:)), keyEquivalent: "P"))
        menu.addItem(NSMenuItem.separator())
        menu.addItem(NSMenuItem(title: "Quit Quotes", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))
即使在这个简单的应用程序中,我也无法让VO正常工作。 台阶

  • VO(控制+选项)+M+M

  • VO+空间选择我们的应用程序选项

  • VO+向下键可在内部导航

  • 然后尝试在其他应用程序中向左或向右移动。它不会切换到其他应用程序

    编辑2 观察是当我首先选择“自定义视图”并尝试切换到其他可以正常工作的应用程序时。但一旦我从自定义视图中选择了普通菜单项,它就会出现一些问题。我找到的唯一解决方案是要么拥有所有默认菜单项,要么拥有所有自定义视图项