【问题标题】:How to load xib and display window of custom framework from a application如何从应用程序加载 xib 并显示自定义框架的窗口
【发布时间】:2012-07-31 05:05:24
【问题描述】:

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

我正在使用以下代码 sn-p 不工作

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

    [appWindow makeKeyAndOrderFront:nil];
}

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

【问题讨论】:

    标签: objective-c macos frameworks loadnibnamed


    【解决方案1】:

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

    WindowController.m

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

    MyApp.m

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      • 2015-03-14
      相关资源
      最近更新 更多