Push-представление из TabBarController, созданного программно - PullRequest
0 голосов
/ 10 июля 2011

Я создал контроллер панели вкладок следующим образом:

tabBarController = [[UITabBarController alloc] init];
tabBarController.view.frame = CGRectMake(0, 0, 320, 460);

NSMutableArray *tabsArray = [[NSMutableArray alloc] init];

//tab1: dive info
LogsDetailDive *logsDetailDive = [[LogsDetailDive alloc] initWithNibName:@"LogsDetailDive" bundle:nil];
[logsDetailDive initWithLogSelected:logSelected:siteSelected];
logsDetailDive.title = @"Info";
logsDetailDive.tabBarItem.image = [UIImage imageNamed:@"/images/logs.png"];
[tabsArray addObject:logsDetailDive];

//tab2: deco info
...

//tab3: equipment info
...

//tab3: computer info
...

tabBarController.viewControllers = tabsArray;

[logsDetailDive release];

[self.view addSubview:tabBarController.view];

Этот контроллер вкладок выталкивается из предыдущего представления таблицы в контроллер навигации.То, что я пытаюсь получить сейчас, - это показать другое представление, выдвинутое из таблицы в LogsDetailDive, но я действительно не могу понять, чего мне не хватает, так как это не работает.Можете ли вы предложить что-то?Спасибо

1 Ответ

0 голосов
/ 10 июля 2011

Ссылка на UITabBarController

Поскольку класс UITabBarController наследуется от класса UIViewController, контроллеры панели вкладок имеют свое собственное представление, доступное через свойство view.При развертывании интерфейса панели вкладок вы должны установить это представление как корневой каталог вашего окна.В отличие от других контроллеров представления, интерфейс панели вкладок никогда не должен устанавливаться как дочерний элемент другого контроллера представления.

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

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