如何解决如果窗口不可见,则 NSMenu 中的视图不可点击
我在“应用程序是代理”-应用程序中使用 NSMenu 时遇到了非常奇怪的行为。
我有以下简单的代码来设置带有 NSMenu 的标题栏图标。该菜单包含一个带有 NSSwitch 按钮的自定义视图。
class AppDelegate: NSObject,NSApplicationDelegate {
let statusBarItem = NsstatusBar.system.statusItem(withLength: -1)
func applicationDidFinishLaunching(_ aNotification: Notification) {
let icon = NSImage(imageLiteralResourceName:"flag")
statusBarItem.image = icon
let menu: NSMenu = NSMenu()
var menuItem = NSMenuItem()
let frame = CGRect(origin: .zero,size: CGSize(width: 100,height: 20))
let viewHint = NSView(frame: frame)
let switchButton = NSSwitch(frame: frame)
viewHint.addSubview(switchButton)
menuItem.view = viewHint
menu.addItem(menuItem)
statusBarItem.menu=menu
}
只要应用程序窗口聚焦,它就可以很好地工作。
当我关闭应用程序主窗口时,标题栏仍然可见(因为它是一个代理应用程序)。现在菜单中的开关按钮不再响应,这意味着我无法打开或关闭它。如果双击它真的很快,你可以,但这不再是正常的行为,它与隐藏的窗口有某种关系。正如我所说,如果窗口可见,它就可以工作。
有什么想法吗?谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。