2015-02-14 4 views
0

Я пытаюсь обвести голову вокруг раскадровки для Mac OS X, и у меня возникают трудности с дублированием поведения, которое я могу легко выполнить с помощью XIB. Главное окно моего приложения содержит панель инструментов, область содержимого и нижнюю панель. В нижней панели у меня есть различные элементы управления, такие как индикатор прогресса и сегментированный элемент управления, который выбирает, какой вид отображается в области содержимого. Прототип окна выглядит так: An example windowNSWindow с нижней панелью и основным видом с использованием раскадровки

Использование XIB Я могу легко поместить сегментированный элемент управления в нижнюю панель и подключить его действие, чтобы изменить вид содержимого на основе того, какой сегмент выбран. До сих пор я не мог выполнить это поведение с помощью раскадровки. Как это может быть сделано? Я пробовал разделить вид, но не смог зафиксировать размер нижней панели и не удалить разделитель. Я надеялся, что это будет так же просто, как перетаскивание представлений из палитры IB в нижнюю панель, но это действие не допускается.

+0

Вполне возможно, что Interface Builder не имеет эту функцию но для раскадровки. Раскадровки на OS X были введены только в Йосемити. – SevenBits

+0

Я достиг некоторого прогресса, разместив нижние элементы управления в контроллере представления окна и добавив представление контейнера для области содержимого. Я все еще работаю над тем, как изящно менять вид в представлении контейнера. – sbooth

ответ

0

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

  1. Добавить NSToolbar в NSWindowController,
  2. Добавить поддержку Toolbar в NSTabViewController и поместите его в нижней части (вы можете также поместите вкладки внизу).

Этот макет, надеюсь, заставит вас работать на вас?

Вы можете смотреть это видео для получения дополнительной информации об использовании раскадровки для OS X приложений (есть также некоторые подробности об использовании NSTabViewController в нем)

Storyboards and Controllers on OS X

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