Как Xcode решает, какой XIB показывать первым - PullRequest
7 голосов
/ 08 марта 2011

Когда я создаю новый проект какао в Xcode, он создает файл MainMenu.xib с окном.Я хотел бы разделить окно на MainWindow.xib, чтобы оно отображалось в качестве основного окна - как мне это сделать?

Если я создаю приложение на основе документа - я вижу две xibs (MainMenu.xib и MyDocument.xib), и я замечаю, что MyDocument.xib отображается сразу - но я не понимаю, где это определяется.Кажется, что нет явного кода, и я не уверен, где искать в списках.

Если я создаю новый документ, как я могу сделать его основным окном, которое появляется при запускеприложение?

Ответы [ 2 ]

10 голосов
/ 08 марта 2011

в <YourProjectName>-Info.plist вы найдете ключ "Основное имя файла основного пера", со значением первого xib для загрузки, обычно "MainMenu".

Также вы найдете «Типы документов» -> «Элемент 0» -> «Класс какао NSDocument» и значение «MyDocument». В классе «MyDocument» есть метод - (NSString *)windowNibName. Это возвращает имя первого xib для загрузки.

3 голосов
/ 09 марта 2011

Управление окнами - ваша ответственность.Не полагайтесь на каркасы для отображения окон в любом порядке, так как этот порядок не определен.

Во-первых, убедитесь, что флажок Visible at Launch не проверен для ваших окон в интерфейсеBuilder.Если это так, вы не сможете эффективно управлять отображением окна.По умолчанию он включен.

Далее, используйте подкласс NSWindowController для каждого пера окна, который вы хотите загрузить.Затем в главном контроллере приложения вы можете контролировать, когда создаются эти NSWindowController объекты и когда вызывать их -showWindow методы.

В вашем примере вы, вероятно, создадите экземпляр NSWindowController для вашегоMainWindow.xib в методе ‑applicationDidFinishLaunching: в вашем делегате приложения.

...