Открытие второго окна от 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];
Другие вопросы по тегам