我正在使用在主窗口中使用工具栏的Mac应用程序。在菜单中,有一个项目允许用户显示或隐藏工具栏。在Interface Builder中,此菜单项连接到MainMenu.xib中的First Responder的toggleToolbarShown:方法。 FWIW,我的主窗口在另一个xib中,当它是最前面的窗口时,正确地调用了它的toggleToolbarShown:。

我的应用程序具有一个首选项面板,该面板还带有一个工具栏。但是,我不希望用户能够在此面板上切换工具栏。就其现状而言,显示/隐藏菜单项确实允许在首选项窗口位于最前面时切换首选项工具栏,因为它经过“第一响应者”。

如何仅对首选项面板而不对主窗口禁用此行为?

最佳答案

您可以将NSWindow子类用于首选项窗口,并从此处禁用菜单项。请参见Camino's PreferencesWindow,它正是您想要做的。您还需要在窗口上调用setShowsToolbarButton:NO(如果尚未执行此操作)。

关于cocoa - 禁用toggleToolbarShown:在Mac(Cocoa)应用中是否显示“首选项”面板?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3252520/

10-13 05:42