gpt4 book ai didi

cocoa - NSStatusItem.popUpMenu 的替代品是什么?

转载 作者:行者123 更新时间:2023-12-03 16:09:10 25 4
gpt4 key购买 nike

NSStatusItem.popUpMenu 已在 macOS 10.14 中弃用,但我找不到一个不错的替代方案。

let m = statusItem.menu!
statusItem.popUpMenu(m) // deprecated

我尝试使用菜单和按钮直接弹出,但它的位置不正确。

let m1 = m.items.first!
m.popUp(positioning: m1, at: .zero, in: statusItem.button!)

最佳答案

Xcode 建议使用 menu 属性而不是 popupMenu。但是一旦设置了 menu 属性,每次点击该项目都只会显示菜单。

相反,如果您想控制何时显示菜单,例如仅响应右键单击,那么手动触发菜单的一个简单方法是在 NSStatusBarButton 上调用 performClick 在你的处理程序中。

statusItem.menu = myMenu
statusItem.button?.performClick(nil)
statusItem.menu = nil

如果您想继续自己处理点击,则必须将 menu 设置回 nil。

关于cocoa - NSStatusItem.popUpMenu 的替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52585275/

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