我在NSMenu中使用NSComboBox显示项目列表。当我在NSComboBox菜单中选择任何选项时,将被关闭。
要关闭NSMenu I m,请使用10.6及更高版本中的cancelTrackingWithoutAnimation,它可以正常工作。在10.5的情况下,我正在使用cancelTracking,但它没有关闭NSMenu。
最佳答案
我通过使用Carbon API CancelMenuTracking()
解决了该问题,
CancelMenuTracking(
MenuRef inRootMenu,
Boolean inImmediate,
UInt32 inDismissalReason)
使用_NSGetCarbonMenu获取NSMenu的menuref。
menuRef = _NSGetCarbonMenu(myMenu);
CancelMenuTracking(menuRef,YES,kHIMenuDismissedByCancelMenuTracking);
表示10.5,CancelMenuTracking(menuRef,YES,0);
表示10.6及以上关于objective-c - NSMenu canelTracking在Mac OSx 10.5上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24952743/