UITabBarControler внутри пользовательского контейнера

-4

Я пытался поставить два контроллера в контроллер контейнера.

Первый контролер

1) Просто контроллер View с несколькими кнопками

2) UITabBarController.

Ниже приведен фрагмент кода.

tabc = [[UITabBarController alloc] init];

hvc = [[HeaderViewController alloc] initWithNibName:@"HeaderViewController" bundle:nil];
[self addChildViewController:hvc];
[self.view addSubview:hvc.view];
[hvc didMoveToParentViewController:self];

bvc = [[BodyViewController alloc] initWithNibName:@"BodyViewController" bundle:nil];
bvc1 = [[Body1ViewController alloc] initWithNibName:@"Body1ViewController" bundle:nil];

UITabBar *tabBar = tabc.tabBar;
UITabBarItem *tabBarItem1 = [ tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [ tabBar.items objectAtIndex:1];

tabBarItem1.title = @"fruits";
tabBarItem2.title = @"vegs";

tabc.viewControllers = @[bvc,bvc1];

[self addChildViewController:tabc];
[self.view addSubview:tabc.view];
[tabc didMoveToParentViewController:self];

Проблема:

В контроллере представления таблиц одновременно отображается только одна вкладка [т.е.: первая вкладка]

ПРИМЕЧАНИЕ. В моей ошибке отображается обе вкладки, но имя таблицы или граница вкладок не отображаются. он показывает, как на той же вкладке. Как решить эту проблему?

Какую причуду мне нужно знать?

спросил(а) 2014-07-11T21:53:00+04:00 6 лет, 7 месяцев назад
0
86

Это странная причуда, которая укусила многих. Контроллеры панели управления могут быть только контроллером корня и не могут быть дочерними элементами контейнера. Это в яблочных документах здесь: https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarController_Class/Reference/Reference.html

Раздел, представляющий интерес, - "Представления контроллера панели вкладок"

Странная часть - это может показаться, что она работает нормально, но странные поведения будут возникать здесь и там.

ответил(а) 2014-07-11T22:40:00+04:00 6 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема