我的Mac OS X程序仅在状态栏中可见,必须显示首选项窗口。 我有这个IBAction:
- (IBAction)showPreferences:(id)sender {
[self.preferencesWindowController showWindow:self];
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
}
在applicationDidFinish Lauching中我有:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Load the app's preferences window (but does not display it)
self.preferencesWindowController = [[PreferencesWindowController alloc] initWithWindowNibName:@"PreferencesWindowController"];
[...]
}
班级标题:
#import <Cocoa/Cocoa.h>
#import "AppPref.h"
@interface PreferencesWindowController : NSWindowController {
}
@end
问题是:首选项窗口只显示一次。当我关闭它时,它将永远不再出现。
可能是什么问题?
答案 0 :(得分:2)
您必须更改窗口属性,以便在关闭时不会销毁它。您可以在Interface Builder中执行此操作。
作为替代方案,我建议从-showPreferences:
方法加载nib。在-applicationDidFinishLaunching:
方法中加载nib会减慢应用程序启动时间,而不会对用户或代码造成任何好处。