显示菜单的披露按钮

iHu*_*ter 6 macos objective-c nsmenu appkit nsbutton

请给我一个建议如何在我的屏幕截图中实现这种披露按钮 - 显示"点击下拉"按钮显示点击菜单:

我想要什么

我尝试了两种方法,使用NSPopupButtonNSButton使用披露样式和手动菜单显示:

  • NSPopupButton 继续显示默认值文本,无法在Interface Builder中调整为较小的大小.

    NSPopupButton

  • NSButton显示一个菜单,但显然错位到我点击按钮的位置,而不是在底部边缘.我正在使用以下代码:

    - (IBAction)handleShowMenu:(id)sender
    {
        [NSMenu popUpContextMenu:profileMenu
                       withEvent:[NSApp currentEvent]
                         forView:sender];
    }
    
    Run Code Online (Sandbox Code Playgroud)

    NSButton带菜单

那么显示这样一个菜单的正确方法是什么?

iHu*_*ter 4

我已经成功了!NSPopupButton正确的设置是与“无箭头”和“披露”边框样式、“瞬时推入”类型一起使用。