objective-c - 使用 OS X 的 Storyboard初始化另一个窗口

标签 objective-c macos cocoa xcode6

我在 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/

相关文章:

ios - 填充 NSString 在 UITableViewCell 中不起作用

ios - 了解 applicationSignificantTimeChange :

swift - 从应用程序中以编程方式停靠 "Turn Hiding On"

cocoa - 核心数据获取中的谓词不会返回与数组上相同谓词相同的结果

cocoa - 为 NSToolbar 制作 NSToolbar 图标

objective-c - 如何从电影中创建动画 .gif?

objective-c - 如何将纬度经度转换为 CLLocationCoordinate2D

ios - 创建 collectionViewCell 时出现异常

objective-c - 如何在自定义 NSView 中设置光标?

c++ - 为什么 glDrawArrays 不能在 mac 上使用 OpenGL 绘制