【问题标题】:Popped Up NSMenu Always Highlights First NSMenuItem弹出的 NSMenu 总是突出显示第一个 NSMenuItem
【发布时间】:2012-05-06 13:34:23
【问题描述】:

我有一个 NSButton,当单击它时会调用 [NSMenu popUpMenuPositioningItem:atLocation:inView:]。菜单会在正确的位置弹出,但是最上面的 NSMenuItem 总是以蓝色突出显示,就好像鼠标悬停在它上面一样,但它不是。我似乎找不到任何方法来控制 NSMenuItem 的突出显示。

查看屏幕截图,您可以看到即使鼠标仍悬停在 NSButton 上,菜单仍会突出显示。

我该如何解决这个问题?我不希望在单击 NSButton 时突出显示任何内容。

【问题讨论】:

    标签: cocoa nsbutton nsmenuitem nsmenu


    【解决方案1】:

    如果您为 popUpMenuPositioningItem:atLocation:inView: 中的第一个参数传递 nil,则不会选择任何内容。

    【讨论】:

      【解决方案2】:

      与其自己弹出菜单,不如将 NSButton 替换为 NSPopUpButton,设置为下拉类型,关闭带边框的复选框(您可能必须打开然后再次关闭),可能带有箭头样式设置为无(虽然我会保留它)。

      【讨论】:

      • 我想到了这个选项,虽然我确信它有效,但它真的不是我问题的答案。当 NSMenu 的 popUpMenuPositioningItem:atLocation:inView: 应该工作时,我不应该使用 NSPopupButton。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-04
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      相关资源
      最近更新 更多