[[NSPopupButton performClick]:menuDidClose:不会立即被调用

问题描述 投票:0回答:1

我使用-[NSPopupButton performClick:nil]以编程方式弹出NSPopupButton的菜单。

即使正确设置了NSPopupButton菜单的委托,但通过在菜单外部单击来取消菜单,也不会调用该委托的menuDidClose:方法。不过,在下一次单击NSPopupButton实例后,将调用此委托。

(背景:我正在尝试在可能较长的弹出菜单中添加“编辑模式”,用户可以在其中启用/禁用复选框以隐藏特定项目。一旦用户选择“编辑此菜单”命令,我d要在上述编辑模式下再次弹出。)

我使用-[NSPopupButton performClick:nil]以编程方式弹出NSPopupButton的菜单。即使正确设置了NSPopupButton菜单的委托,该委托的menuDidClose:...

objective-c macos appkit
1个回答
0
投票

[找到了一种解决方法,使用[NSMenu popupContextMenu:withEvent:forView]在原始弹出按钮上显示另一个菜单(如穴居人。)

© www.soinside.com 2019 - 2024. All rights reserved.