Подтвердить что ты не робот

Как создать пользовательский контейнер контроллера просмотра с помощью раскадровки в iOS 5

В iOS5, используя функцию раскадровки, я хочу создать пользовательский контейнер, в который будет вложено 2 ViewControllers. Например, встройте Table view controller, а также контроллер представления как в один ViewController.

То есть, один контроллер вида имеет 2 отношения:

  • для контроллера табличного представления.
  • для просмотра контроллера, который в свою очередь будет иметь вид UIImage или UIButton в нем

Создает ли этот тип отношений возможно только с помощью функции перетаскивания с помощью раскадровки, а не программно?

4b9b3361

Ответ 1

У вас должен быть только один контроллер вида для управления сценой. Тем не менее, этот viewController может иметь два других контроллера представлений, которые управляют определенными подзонами на вашей сцене. Для этого вы создаете свойства в вашем viewController сцены, в вашем случае один для вашего TableViewController и один для вашего представления. Мне нравится держать вещи вместе, поэтому я делаю оба эти точки зрения, и создаю их в построителе интерфейса. Чтобы создать их в построителе интерфейса, вытащите объект из библиотеки объектов и установите его тип в соответствующий viewController. Подключите его к соответствующей розетке, которую вы только что создали, в вашем режиме viewController - Примечание: это важно, иначе viewController будет выпущен, если вы используете ARC и разбиваете свое приложение. Затем переместите эти viewControllers до представления, которое вы хотите, чтобы они контролировались, и все готово.

В качестве альтернативы вы можете создавать экземпляр и перескакивать ваш viewControllers в вашем режиме viewController, если вы предпочитаете это делать.

Надеюсь, что это поможет.

Изменить: при отражении это не очень хорошая идея и на самом деле идет против HIG, вы должны поддерживать только один ViewController для каждого экрана контента и вместо этого пытаться создать подходящий класс представления и иметь единый контроллер просмотра с взаимодействием между различные виды.

Ответ 2

Есть способ сделать это, что не слишком хаки. Он описан в следующем URL-адресе для UITabBarControllers, который вы можете использовать первым контроллером представления в элементе управления списком первого подзапроса, а второй - другим. Или, вероятно, вы можете адаптировать код для работы с UISplitViewController.

http://bartlettpublishing.com/site/bartpub/blog/3/entry/351

В принципе, он работает, заменяя tabbarcontroller во время выполнения после завершения настройки iOS.