我有一个应用程序在macOS的菜单栏上显示一个自定义视图。当点击自定义视图时,我想显示一个上下文菜单(NSMenu)。菜单栏左键点击额外没有打开
我的代码如下所示:
私人让statusItem = NSStatusBar.system()statusItem(withLength:NSVariableStatusItemLength) 私人VAR计时器:计时器? private var view:MenuView! 私有var菜单:NSMenu! private let popover = NSPopover() private var popoverController:PopoverViewController?但是,当我点击视图时,菜单并不像我所期望的那样显示(当然,它根本不显示)。 当我不使用我的自定义视图并仅设置图像时,单击它时会打开上下文菜单。 如何在使用自定义视图时显示菜单?
问候, 萨沙
感谢您的提示,我有一个稍微不同的方式去了。我仍然将菜单分配给状态项目。点击视图后,会发送通知,然后在AppDelegate中处理。这里调用popUpMenu函数。谢谢。 –
由于实例可以从任何地方直接访问('NSApp.delegate'),因此不鼓励将通知发送到'Appdelegate'。仅在有多个接收者或视图/控制器不相互关联时才使用通知。此外,我会建议在**视图中始终保持关于视图的逻辑**。 – vadian
好吧,我会改变它,然后再次感谢你。不知道NSApp.delegate访问。 –