2012-01-22 3 views
0

Каков наилучший способ переключения между несколькими стилями основных окон в какао? Я имею в виду что-то вроде iTunes с мини-плеером и его нормальным размером. Я хочу разбить разные файлы-нибы и позволить пользователю выбирать между маленьким или большим с более подробной информацией.
Нужно ли мне NSWindowController или это нормально, чтобы загрузить крупку в App Делегат как это:
[NSBundle loadNibNamed:@"BigWindow" owner:self];Управление несколькими стилями главного окна в какао

ответ

0

Вы должны всегда использовать NSWindowController загрузить перо, содержащий окно. Это связано с тем, что NSWindowController обрабатывает управление памятью nib для вас, что в противном случае несколько болезненно.

Если вы просто хотите загрузить представление из ниба, используйте вместо него NSViewController.

+0

Хмм спасибо, я пытаюсь поделиться некоторой логикой между окнами. Оба окна делают то же самое, они просто имеют разный размер и выглядят. когда я использую NSWindowController для каждого окна (xib-файл) и назначаю делегат приложения, я получил экземпляр делегата приложения для каждого оконного контроллера. Думаю, я что-то наблюдаю. Должен быть простой способ сделать это (как это делается в полноэкранных приложениях с разным макетом). – stronzo

+0

Контроллер вашего приложения должен программным образом создавать оконные контроллеры и сохранять ссылку на них (ivar). Что вы подразумеваете под «назначить делегата приложения»? –

+0

Мой контроллер приложения и делегат - это то же самое. Я создаю оконный контроллер и получил его как ivar делегата. В xib-файле у меня есть объект делегирования приложения, чтобы сделать соединения с IBActions в делете приложения. Когда я вхожу в метод из окна, я вижу, что у делегата приложения ivars есть адрес 0x0. сам делегат приложения имеет другой адрес, чем в методе «appDidFinishLoading». Когда я вызываю метод из главного меню, все в порядке. Поэтому я что-то испортил. Неправильно ли иметь делегат приложения в каждом xib для вызова IBActions? – stronzo

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