我在IB中把一个NSWindow绑定到NSWindowController的window outlet上,然后用这种方式初始化:
if (!preferenceController) {
preferenceController = [[PreferenceController alloc] initWithWindowNibName:@"Preference"];
}
[preferenceController showWindow:self];
为了节省内存,我在窗口关闭时就设置了preferenceController.window = nil。之后再想显示时,不知道怎么载入这个window了…难道要重新创建一个controller?
另外,一旦这个窗口在后台,或者关闭过一次后,无论是showWindow:还是makeKeyAndOrderFront:都没法让窗口显示到前台,这是怎么回事?
现在只发现改成NSPanel,并把style设为Utility Panel可以让它一直显示在前台…
if (!preferenceController) {
preferenceController = [[PreferenceController alloc] initWithWindowNibName:@"Preference"];
}
[preferenceController showWindow:self];
为了节省内存,我在窗口关闭时就设置了preferenceController.window = nil。之后再想显示时,不知道怎么载入这个window了…难道要重新创建一个controller?
另外,一旦这个窗口在后台,或者关闭过一次后,无论是showWindow:还是makeKeyAndOrderFront:都没法让窗口显示到前台,这是怎么回事?
现在只发现改成NSPanel,并把style设为Utility Panel可以让它一直显示在前台…