繁体   English   中英

单击后如何使按钮显示菜单?

[英]How would you make a Button display a Menu when clicked?

我正在寻找一些代码,以使单击菜单时菜单显示在按钮旁边。 我需要什么代码?

抱歉,这听起来有点含糊。

为什么不使用NSPopUpButton?

NSPopupButton也是我的第一个想法。 这是带有“动作齿轮”按钮的应用程序完成菜单的方式。

如果您确实有其他想法,请查看NSMenu的+popUpContextMenu:withEvent:forView: 只需将一个动作方法挂接到您的按钮上,创建一个NSMenu并用NSMenuItems填充它,然后将其与来自NSApplication的currentEvent getter的当前事件一起发送到此方法。

如果确实需要自己滚动它,而不是使用显示菜单的内置控件之一,则可以创建一个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:参数,以便按所需方式放置菜单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM