Какао Загрузка ViewNib

При создании пера у меня есть 2 типа для создания: WindowNib или ViewNib. Я вижу разницу в том, что оконный наконечник имеет окно и вид.

Как загрузить перо представления в другое окно? Должен ли я создать WindowController и добавить окно, а затем загрузить перо в окне?


person Joel Saltzman    schedule 13.11.2009    source источник


Ответы (1)


Как правило, у вас должен быть контроллер для каждого NIB. Таким образом, в случае Window NIB у вас будет подкласс NSWindowController в качестве владельца файла. Точно так же для представления NIB у вас будет подкласс NSViewController в качестве владельца файла. В случае, если вы представляете подкласс NSWindowController, он будет создавать экземпляр подкласса NSViewController (передавая ему соответствующий View NIB), а затем присоединять свойство представления NSViewController к иерархии представлений окна.

Например, в методе awakFromNib вашего оконного контроллера у вас будет следующее:

- (void) awakeFromNib {
    _viewController = [[MyViewController alloc] initWithNibName: @"MyView" bundle: nil];
    [[[self window] contentView] addSubview: [_viewController view]];
}

Вы также можете поместить этот код в метод windowDidLoad вашего подкласса NSWindowController.

person Bryan Kyle    schedule 14.11.2009