Несколько представлений и контроллеров в UITabBarController - PullRequest
0 голосов
/ 11 ноября 2009

Я пытаюсь добавить несколько представлений внутри UITabBarController. В настоящее время моя иерархия объектов выглядит следующим образом: UITabBarController -> UIViewController * -> UIView *. В качестве более конкретного примера, первым контроллером представления для моего UITabBarController является UIViewController, который имеет три подпредставления, которые управляются UISegmentedControl. В зависимости от того, какой сегмент выбран, я выдвигаю соответствующий вид спереди.

Я понимаю, что могу использовать UINavigationController для управления моими тремя представлениями; однако данные, которые я хочу представить, на самом деле не являются иерархическими.

Есть ли примеры контейнерных контроллеров, кроме UITabBarController или UINavigationController, которые я могу использовать для этого случая? Или есть другой подход, который я должен использовать (в настоящее время я управляю представлениями вручную).

Спасибо!

Ответы [ 2 ]

1 голос
/ 11 ноября 2009

Пользовательские контроллеры вида описаны в Руководстве по программированию контроллера вида.

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

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

0 голосов
/ 11 ноября 2009

Для этого на самом деле нет никакой вспомогательной среды - обычно вам приходится управлять переключением представлений в представлении переключенного контейнера самостоятельно.

Один из подходов, которые я использовал в прошлом, заключается в том, чтобы поддерживать массив ViewController для каждого переключаемого представления и использовать viewController.view для добавления в качестве подпредставления вашего переключенного представления контейнера. Затем я пишу код вокруг переключения контроллеров представления для вызова viewWillAppear и viewWillDisappear на содержащихся контроллерах представления, когда они меняются местами, что делает вещи намного проще, поскольку вы можете обращаться с ними совершенно отдельно.

Вы можете написать этот класс в общем виде, а затем использовать его снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...