3

我创建了一个框架并添加了一个名为“MyXibFile”的 xib 文件。我创建了一个单独的应用程序并将这个框架添加到其中。我想加载这个.xib文件来显示它的窗口。

我正在使用以下不起作用的代码片段

-(void)launchDownloaderWindow
{
    if (![NSBundle loadNibNamed:@"Download" owner:self]) 
    {
        NSLog(@"Nib loading failed");;
    } 

    [appWindow makeKeyAndOrderFront:nil];
}

我可以在控制台中看到消息“笔尖加载失败”有什么建议可以解决这个问题吗?

4

1 回答 1

2

我可以想到一种稍微不同的方式来做到这一点。在您创建的框架中创建一个类,可能是一个NSWindowController,并让它为您加载并返回窗口。例如,在导入框架后,您可以初始化窗口控制器并创建对其创建的窗口的强引用。

窗口控制器.m

@implementation WindowController

- (id)init {
    self = [super initWithWindowNibName:@"WindowController"];
    ...
    return self;
}

@end

我的应用程序

- (void)showSomeWindow {
    WindowController *wc = [[WindowController alloc] init];
    self.appWindow = wc.window;

    [self.appWindow makeKeyAndOrderFront:self];
}
于 2013-07-05T17:29:09.610 回答