我想创建一个NSButton,当它被单击时发送一个 Action ,但是当它被按下1或2秒钟时,它会显示一个NSMenu。与问题here完全相同,但是由于该答案不能解决我的问题,因此我决定再次询问。

例如,转到Finder,打开一个新窗口,浏览一些文件夹,然后单击“后退”按钮:转到上一个文件夹。现在单击并按住后退按钮:将显示一个菜单。我不知道如何用NSPopUpButton做到这一点。

最佳答案

使用NSSegmentedControl

通过将setMenu:forSegment:发送到控件来添加菜单(将任何内容连接到IB中的menu socket 都无法解决问题)。将 Action 连接到控件(这很重要)。

应该完全按照您所描述的那样工作。

关于cocoa - 带有NSMenu延迟的NSButton-Objective-C/ cocoa ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9196109/

10-12 00:08