gpt4 book ai didi

objective-c - NSMenu 以编程方式选择项目

转载 作者:太空狗 更新时间:2023-10-30 03:28:48 27 4
gpt4 key购买 nike

我正在为应用程序编写插件 - 自定义键盘快捷键。我可以遍历它的 View 。我需要打开弹出菜单,选择其中的项目,然后打开它的子​​菜单并选择子菜单中的一些项目。

现在我只能通过发送 performClick: 到相关的 NSPopUpButton 元素来打开顶部弹出菜单。

如何以编程方式选择菜单中的项目并打开其子菜单?

我试过:

  • NSPopUpButton(和相关的 NSMenu)上调用 selectItem:。运气不好,我在 doc 中看到了一个概念:“请注意,当菜单跟踪用户输入时,不会反射(reflect)对菜单的编程更改,例如添加、删除或更改菜单上的项目”
  • 发送键盘事件(使用 this answer )。运气不好 - 可能是因为在发送这些事件时我正拿着一些 key
  • 找到有关如何通过辅助功能 API 执行此操作的任何信息,但我找不到有关如何在当前应用程序(甚至任何其他应用程序,但使用 Objective-C)上使用它的任何信息

最佳答案

使用NSMenu 方法- (void)performActionForItemAtIndex:(NSInteger)index

NSUInteger idx = [[[menuItem menu] itemArray] indexOfObject:menuItem];
[[menuItem menu] performActionForItemAtIndex:idx];

关于objective-c - NSMenu 以编程方式选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583559/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com