我正在寻找一些代码,以便在单击按钮时使菜单显示在按钮旁边。 我需要什么代码?
很抱歉,如果这听起来有点模糊。
答案 0 :(得分:4)
为什么不使用NSPopUpButton?
答案 1 :(得分:2)
NSPopupButton也是我的第一个想法。这就是具有“动作装备”按钮的应用程序如何完成其菜单。
如果您确实有其他想法,请查看NSMenu的+popUpContextMenu:withEvent:forView:
。只需将一个动作方法挂钩到你的按钮,创建一个NSMenu并用NSMenuItems填充它,然后将它从NSApplication的currentEvent
getter中的当前事件发送到此方法。
答案 2 :(得分:0)
如果你真的需要自己动手,而不是使用一个显示菜单的内置控件,你可以创建一个NSPopupButtonCell并使用它来显示NSMenu:
NSPopUpButtonCell *popupCell = [[NSPopUpButtonCell alloc] initTextCell:@"" pullsDown:YES];
[popupCell setMenu:yourMenu];
[popupCell trackMouse:event inRect:[yourButton bounds] ofView:yourButton untilMouseUp:YES];
[popupCell release];
您需要根据需要调整pullsDown:,inRect:和ofView:参数,以便按照您想要的方式定位菜单。