有没有办法将 NSMenu 之类的对象显示为 NSPopover 的内容?

本质上,我想在您右键单击应用程序图标时重现 macOS Dock 所做的事情(我不介意这里的深色背景,我只对以类似弹出框的窗口样式显示菜单感兴趣指向其目标的箭头)。

我一直在研究 NSPopUpButton 的作用,但找不到以这种方式配置此组件的方法;它有一个 arrowPosition 但这实际上是指按钮本身上箭头的方向。
另外 NSMenu 是一个 NSObject 并且我再次看不到一种干净的方式来获取它的 View 并将其添加到弹出窗口中,所以我想这是不可能的,但也许你有更好的主意?

感谢您的任何建议!

macos - 如何显示嵌入在 NSPopover 中的 NSMenu?-LMLPHP

最佳答案

您可以查看苹果菜单编程指南:
https://developer.apple.com/library/archive/samplecode/MenuItemView/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004136

在 AppDelegate 中,您可以看到:

// -------------------------------------------------------------------------------
//  applicationDockMenu:sender
// -------------------------------------------------------------------------------
// This NSApplication delegate method is called when the user clicks and holds on
// the application icon in the dock.
//
- (NSMenu *)applicationDockMenu:(NSApplication *)sender
{
    return self.appDockMenu;
}

关于macos - 如何显示嵌入在 NSPopover 中的 NSMenu?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44635606/

10-15 11:58