Как загрузить xib и отобразить окно пользовательского фреймворка из приложения
Я создал фреймворк и добавил xib-файл с именем "MyXibFile". Я создал отдельное приложение и добавил к нему этот фреймворк. Я хочу загрузить это .xib
файл для отображения окна из него.
Я использую следующий фрагмент кода, который не работает
-(void)launchDownloaderWindow
{
if (![NSBundle loadNibNamed:@"Download" owner:self])
{
NSLog(@"Nib loading failed");;
}
[appWindow makeKeyAndOrderFront:nil];
}
Я вижу сообщение в консоли "Не удалось загрузить перо". Есть предложения, как решить эту проблему?
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];
}