2013-04-29 3 views
0

У меня есть контроллер вида, у которого мало элементов управления и изображений, и находится в верхней части экрана. У меня будет пространство под ним для контроллеров детского просмотра и их представлений.Каков правильный способ обработки нескольких контроллеров просмотра на одном экране?

Я покажу один контроллер детского представления за раз, что это хороший способ сделать это? Общее количество контроллеров детского представления - около 6, они очень разные, поэтому повторное использование некоторого контроллера контейнера не будет работать.

При нажатии кнопки на этих контроллерах я перехожу к следующему. Должен ли я сделать некоторое свойство, допустим, contentView, который будет содержать представление о контроллере, который в настоящее время отображается на экране? Как обработать поворот, если я не использую автомат?

EDIT: Это скорее вопрос теории, я знаю методы addChildViewController и знаю, как я добавляю представления и контроллеры своим родителям. Я просто хочу знать, как это сделать.

+0

Просмотр контроллеров на экране не существует. Просмотров. – uchuugaka

+0

Любая причина для тега iOS 5? –

+0

@ DavidRönnqvist подсказка, что я использую стиль ios5, а не автомат ios6 – Dvole

ответ

2

Это зависит от того, как вы хотите перейти между различными контроллерами детского представления, но ваш вопрос уже содержит хороший подход.

Вам определенно нужен другой контроллер для каждого из детей. Добавьте представление контейнера в верхний уровень. В этом представлении обрабатываются поворот и автоматическое изменение размера. Содержимое этого представления может быть самими представлениями диспетчера детского представления (и вы управляете переходами, используя один из методов, например transitionFromView:toView:duration:options:completion:), или представление контейнера может содержать UINavigationController, и вы просто вставляете в него контроллеры дочерних представлений.

Независимо от вида контейнера, вам необходимо позаботиться о том, пытается ли какой-либо из ваших контроллеров просмотра ребенка представить другой контроллер вида в качестве модального. Представленный контроллер представления должен быть представлен контроллером представления в верхней части иерархии, или представленное представление может не взаимодействовать правильно или действительно быть представлено перед другими элементами экрана.

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