Открытие второго окна от IBAction
Как использовать второе окно, которое я создал, есть ли способ открыть его при запуске IBAction
событие, например, событие "приземление"?
2 ответа
Решение
Обычно вы создаете окно в отдельном файле XIB и создаете подкласс NSWindowController, который вы устанавливаете в качестве владельца файла XIB.
Затем вам нужно переопределить метод init для загрузки файла XIB:
- ( id )init
{
if( ( self = [ super initWithWindowNibName: @"MySecondWindow" ] ) )
{}
return self;
}
Затем вам просто нужно создать новый экземпляр вашего второго оконного контроллера и показать окно:
MyWindowController * wc = [ MyWindowController new ];
[ wc showWindow: nil ];
Это можно сделать из вашего метода IBAction.
Просто чтобы немного рассказать о том, что сказал Макмад:
Я предпочитаю формальное выделение памяти и инициализацию объекта.
MyWindowController * wc = [[MyWindowController alloc] init];
[wc.window makeKeyAndOrderFront:self];