Создание сцены приложения в пустой раскадровке OS X

Я пытаюсь перенести существующее приложение какао, чтобы использовать новые раскадровки для OS X с XCode6 (Beta2). Я добавил новый пустой файл раскадровки и установил его в качестве основного интерфейса моего приложения.

Однако я не знаю, как связать мое NSApplication с этой раскадровкой.

Когда я запускаю новый проект с использованием раскадровок, я вижу сцену под названием сцена приложения. Он включает Приложение (объект NSApplication), Главное меню, AppDelegate ...

Как я могу добавить объект приложения (например, сцену приложения) на пустую раскадровку?

Есть ли что-то аналогичное оконному контроллеру и объектам контроллера представления, которые можно перетаскивать на раскадровке?


person mic    schedule 25.06.2014    source источник


Ответы (3)


В качестве более быстрой альтернативы вы можете скопировать сцену приложения из нового проекта в существующий:

  1. Создайте новый пустой проект с включенной опцией «Использовать раскадровки».
  2. В новом проекте щелкните файл раскадровки и выберите «Открыть с помощью внешнего редактора».
  3. В вашем любимом текстовом редакторе выберите узел «Сцена» прямо под «‹! - Приложение - ›» и скопируйте его в буфер обмена.
  4. В проекте, в котором отсутствует сцена приложения, повторите шаг 2.
  5. Вставьте только что скопированный узел сцены в верхнюю часть узла Scenes (обратите внимание на множественное число!).
  6. Сохранить.

Теперь у вас будет сцена приложения в вашем существующем проекте, что сэкономит много времени по сравнению с копированием всего в новый проект.

person Rachid Finge Jr    schedule 25.10.2014
comment
Работал у меня. Создайте новый проект с тем же именем, чтобы не переименовывать пункты меню. - person Jason Harwig; 20.12.2014
comment
Большой. Нет необходимости во внешнем текстовом редакторе тыс. Просто откройте обе раскадровки как исходный код (выделите правой кнопкой мыши файл раскадровки), сделайте копируемые вещи, затем вы можете снова открыть их как раскадровку и увидеть там свою сцену. - person Jim75; 18.04.2019
comment
Можете ли вы затем связать настраиваемый объект AppDelegate с любым из элементов контроллера главного окна? По моему опыту, после копирования сцены приложения из нового проекта в раскадровку существующего проекта я могу указать свой класс AppDelegate (который помогает загружать объект делегата приложения), но я не могу ссылаться на этот объект AppDelegate в раскадровке. с другими сценами. Это означает, что панель инструментов и пункты меню остаются не связанными. Есть ли способ сделать это? - person Z S; 14.12.2020

Некоторые люди на форуме разработчиков Apple, похоже, тоже сталкиваются с той же проблемой: Раскадровка Mac и меню приложений

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

В итоге я создал новый проект и вручную перенёс существующую базу кода.

person mic    schedule 06.08.2014

Возможный способ - просто скопировать и вставить объекты из нового проекта, для которого во время создания в XCode был установлен флажок «Использовать раскадровки».

person PetrM    schedule 24.04.2015