0

我有一个问题,PreferencePanel只有当我在发布和调试模式下从 Xcode 启动它时才会出现。但是,如果我启动应用程序的归档 .app,则单击Preferences按钮不会发生任何事情。如果从 Xcode 启动,如果我打开 pref 面板,将其关闭并等待几秒钟,然后再次尝试该命令,也没有任何反应,面板不会出现。我正在使用一个名为“PreferenceController”的类,并在方法NSWindowController中加载一个 nib 文件。xib 的 File Owner 设置为“ ”,window 属性与 xib 中的面板相连。-(id)initreturn [super initWithWindowNibName:@"Preferences"];PreferenceController

在我的 AppController 中,我有一个-(IBAction)showPreferencePanel:(id)sender打开面板的方法。

@interface AppController : NSObject {
    PreferenceController *_preferenceController;
}

…

- (IBAction)showPreferencePanel:(id)sender
{
    if (!_preferenceController) {
        _preferenceController = [[PreferenceController alloc] init];
    }

    [_preferenceController showWindow:self];
}

AppController实例化在mainMenu.xib.

谢谢你的帮助。

4

1 回答 1

1

我发现了,有什么问题。我开发了一个仅限 NSStatusItem 的应用程序,并且面板选项 HideOnDeactivate 设置为 ON。如果我现在打开面板,它会自动失去焦点并消失。感谢您的帮助。

于 2013-06-29T08:08:44.343 回答