如何在Objective C中将子窗口/面板附加到父窗口

时间:2014-04-29 21:27:19

标签: objective-c xcode cocoa

我得知的答案是我不知道,而且我已经在谷歌的各个地方进行了搜索。

问题:我已经构建了两个窗口,而不是以编程方式编写它们......所以

[window addChildWindow:window ordered:....]等没有帮助,因为我不知道如何创建一个" name"对于我在Interface Builder中预制的窗口......我找不到关于绑定/链接的教程

所以我感到沮丧。

基本上我已经制作了一个主窗口和一个面板......并希望面板成为主要的孩子。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

最简单的方法是在应用程序委托中定义IBOutlets。

@interface FFAppDelegate : NSObject <NSApplicationDelegate>

@property (assign) IBOutlet NSWindow * window;
@property (assign) IBOutlet NSPanel * childPanel;

@end

现在将IBOutlets连接到xib文件中的窗口对象。现在,AppKit将在应用程序启动期间为您创建窗口。

您仍然必须实现一行代码才能将面板添加为主窗口的子窗口。

@implementation FFAppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Insert code here to initialize your application
    [[self window] addChildWindow:[self childPanel]
                          ordered:NSWindowBelow];
}

@end