2015-05-28 2 views
0

Я создал приложение какао tabview и имеет имя файла xib «MainMenu.xib». также вставил кнопку в файл MainMenu.xib. И теперь я создал окно с именем файла xib (testwindow.xib). Теперь я хочу, когда я нажимаю кнопку, тогда тестовое окно должно быть всплывающим. Я попытался как В Appdelegate.mmне удалось загрузить файл окна nib (testwindow.xib) при нажатии кнопки?

-(IBAction)hellobtn:(id)sender 
{ 
NSWindowController *hellocontroller = [[NSWindowController alloc] initWithWindowNibName:@"testwindow.xib"]; 
[hellocontroller showWindow:self]; 
NSLog(@"Windows=%@", [hellocontroller window]); 

Код компилируется успеха. Но когда я нажал на кнопку следующая ошибка генерируется в выходных окнах:

[NSWindowController loadWindow]: failed to load window nib file 'testwindow.xib'. 
windows(null) //NSLog output 

Может ли один скажите, пожалуйста, как запустить еще одно окно с appdelegate.mm файла.

Спасибо,

ответ

1

При загрузке перо не следует помещать расширение в имени.

Как так:

NSWindowController *hellocontroller = [[NSWindowController alloc] initWithWindowNibName:@"testwindow"]; 
+0

пытался, но ошибка пришедшего только окна (нуль). – CrazyCoder

+0

Но у вас нет ошибки для отсутствия xib? – Miknash

+0

Также вы вызываете [hellcontroller showWindow: self]; где self является AppDelegate, если вы вызываете его из AppDelegate, как вы заявили – Miknash

0

фиксированной,

Я определил NSWindowController * HelloController; ниже реализации основного класса;

, а затем на кнопку действия, которую я написал:

hellocontroller = [[NSWindowController alloc] initWithWindowNibName:@"testwindow"]; 
[hellocontroller showWindow:self]; //optional, without this line, it is also running. 
+0

отличный, рад помочь вам с загрузкой Xib :) – Miknash

Смежные вопросы