2010-06-21 2 views
1

В моем приложении iPhone я настроил пустой пустой экран под названием Main View, в который будут загружены различные дочерние объекты для разных частей приложения. Это тот же подход, как если бы я использовал панель инструментов для переключения между subviews. В этом случае в контроллере MainView я мог перехватывать IBActions кнопками на панели инструментов, так что, когда была нажата кнопка, MainView добавлял к себе различные подпрограммы.Программно изменить подзаголовки из контроллера subview

В моей ситуации, тем не менее, мне нужно сообщить MainView об изменении своего поднабора в пределах подзонов. Так вот две сестры подвидов, каждая со своим собственным контроллером и XIb, которые будут загружены в качестве подвидов из MainView: - StartView - FormView

В StartView, после того, как некоторые анимации и приветствие вещи, кнопка вызывает изображение камеры подборщика. После того, как средство выбора изображений вернет изображение, мне нужно сообщить MainView, чтобы удалить StartView и добавить FormView.

Возможно, это результат долгого дня или моей новизны для iPhone OS, но я застрял в правильном направлении, чтобы настроить мои объекты/контроллеры.

+0

Вы имеете в виду фактическое subview i.e., основной вид содержит StartView и formView в своем массиве свойств subview? Или вы в смысле иерархии контроллеров представлений, как на панели управления или на навигационном контроллере. – TechZen

+0

фактический subview - основной вид содержит StartView и formView в своем массиве свойств subview. Не использовать конструкцию на панели управления или навигации в этом случае, потому что мне не нужен MainView, чтобы иметь какой-либо элемент пользовательского интерфейса. – Jeof

ответ

0

У вас никогда не было более одного контроллера режима просмотра одновременно. (Контроллеры nav и tabbar не управляют представлениями, они управляют другими контроллерами.) В этом случае у вас будет единственный контроллер, у которого MainView является свойством представления. Он добавит StartView и formView в качестве подменю MainView.

Однако это нехороший дизайн. Он перегрузит контроллер MainView, заставив его манипулировать многими видами. Было бы лучше использовать скрытый контроллер навигации или вкладку. Иерархии контроллеров могут создавать иллюзию с точки зрения пользователей практически для любого интерфейса, который вы можете себе представить. Нет необходимости создавать логическую структуру, имитирующую визуальную.

Из вашего описания вам может понадобиться только одна пара view/view-controller: установите контроллер formView, чтобы открыть представление камеры, прежде чем он отобразит форму. Когда камера отклоняется, она автоматически возвращается в форму. Нет суеты, не мусс.

+0

Спасибо - контроллер навигации делает трюк, я просто опустил факт, что могу удалить материал по умолчанию для UI. – Jeof

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