我在 Xcode6 中创建了一个使用 Storyboard的 Cocoa 应用程序。作为模板,Xcode 为应用程序提供了一个窗口。我想添加第二个窗口来显示程序首次加载的时间。所以基本上,会出现两个窗口。
我在第一个窗口所在的 Main.storyboard 上放置了一个窗口 Controller 。但是,我找不到在程序启动时显示第二个窗口的方法。你能帮忙吗?
谢谢。
最佳答案
在您的 Storyboard中,选择您的第二个窗口 Controller 。在身份检查器中,为此窗口 Controller 指定一个名称,例如 secondWindowController
然后,在您的应用委托(delegate)中,为窗口 Controller 设置一个属性:
@property NSWindowController *myController;
在您的 applicationDidFinishLaunching: 方法实现中,创建对 Storyboard 的引用。这样你就可以从 Storyboard访问你的窗口 Controller 。 之后,唯一剩下要做的就是通过向窗口 Controller 发送 showWindow: 方法来显示窗口。
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
@synthesize myController;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSStoryboard *storyBoard = [NSStoryboard storyboardWithName:@"Main" bundle:nil]; // get a reference to the storyboard
myController = [storyBoard instantiateControllerWithIdentifier:@"secondWindowController"]; // instantiate your window controller
[myController showWindow:self]; // show the window
}
@end
关于objective-c - 使用 OS X 的 Storyboard初始化另一个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26689699/