我们的OS X应用程序有时会显示模态表单,而模式表单的一个缺点是,当您可以看到模态表单时,菜单项不起作用。您可以照常单击菜单项,但不会在目标上调用选择器。
这很糟糕,因为即使显示模式表单,我们也希望用户能够命令-q退出应用程序,这对OS X上的应用程序来说是正常的。
但是,有一个未记录的方法_blocksActionWhenModal默认返回YES。如果你覆盖它以返回NO,你的菜单项就会在模态表格上正常工作,这意味着一切都可以正常处理。
我想找到一个替代方案,因为我不想使用这样的未记录方法(因为Apple可以通过新的OS版本来改变它)。在这里有另一种方法可以达到相同的效果吗? “不使用模态形式”并不是一种选择。
答案 0 :(得分:4)
对于10.6+,在模态窗口上使用[NSWindow setPreventsApplicationTerminationWhenModal:]
以允许退出。