【问题标题】:How to expand NSPopUpButton in Swift programmatically?如何以编程方式在 Swift 中扩展 NSPopUpButton?
【发布时间】:2020-06-08 16:00:28
【问题描述】:

我正在尝试使用 Swift 扩展 NSPopUpButton。对于原生 OSX 应用程序,我必须重写如下截图所示的设计。

我的目的是像down_icon一样添加一个按钮,当我点击它时,弹出按钮必须展开。我不能在NSPopUpButton 中做到这一点,但在这个问题线程中,NSComboBox 是可能的。 Question Here

正如我在 NSComboBox 中尝试的那样,

comboBoxCell.performSelector(Selector("popUp:"))

代码块不适用于 NSPopUpButton,因为没有用于弹出 NSPopUpButton 的选择器。

也可以试试

phoneCodesPopup.setAccessibilityExpanded(true)

但它没有展开。

如何以编程方式打开NSPopUpButton

提前致谢!

【问题讨论】:

  • 我刚刚意识到你的问题是矛盾的:你说“我不能在NSPopUpButton 中做[图中所示的设计]”那你为什么还要使用NSPopupButton?跨度>

标签: swift cocoa


【解决方案1】:

不像NSComboBox,在任何地方点击NSPopoverButton都会弹出,所以你只需要performClick

yourPopup.performClick(nil)

【讨论】:

  • 我会尽快尝试的
  • 抱歉延迟,它就像魅力一样。我如何理解它以获取我在哪里可以使用 performClicksetAccessibilityExpanded ?是否有任何合理的执行文件?当我阅读它时,我无法从 Apple 文档中得到它。顺便谢谢?
  • @elia 我对setAccessibilityExpanded 没有太多经验...我只是不熟悉一般的可访问性,真的。对于performClick,这基本上是一个有根据的猜测:) 这是我的思考过程:我知道NSPopoverButtonNSButton 的子类,我点击它展开它,所以我很自然地将问题重新定义为“如何做我以编程方式单击NSButton"。好吧,我知道performClick 会这样做。
  • 所以可能缺乏我在Accessibility 上的经验。你能推荐一篇博文或教程让我在这个主题上做得更好吗?
  • @elia 可能我没说清楚,但是我对可访问性真的不是很了解,也没有经验推荐教程。但是您是否尝试过使用谷歌搜索“macOS 快速可访问性”?如果我想了解更多信息,我会这样做。
猜你喜欢
  • 2019-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多