Как добавить панель вкладок в существующий контроллер представления без XIB - PullRequest
2 голосов
/ 22 марта 2010

Я стараюсь максимально избегать использования Interface Builder .

В данный момент у меня есть контроллер представления, созданный с помощью кода, и также меняющий представления с помощью кода.

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

В идеале, я бы сказал текущему контроллеру представления добавить панель вкладок внизу, но я не уверен, что это выполнимо, поэтому мне, возможно, придется заменить UIViewController на UITabBarController?

Любая помощь будет оценена.

Ура, Андре

1 Ответ

6 голосов
/ 22 марта 2010

У меня нет Xcode под рукой, поэтому я попытаюсь ответить устно.

Создайте новый UITabBarController и установите текущий вид как root view, затем добавьте столько вкладок, сколько хотите, (каждая вкладка имеет свой собственный вид).

ОБНОВЛЕНИЕ
После инициализации контроллера определите массив представлений (порядок добавления важен).И вызовите это на панели вкладок контроллера

- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated

ОБНОВЛЕНИЕ 2

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

tabBarController = [[UITabBarController alloc]init];

firstView = [[FirstView alloc] init];
UITabBarItem *item1 = [[[UITabBarItem alloc]initWithTitle:@"First" image:nil tag:1] autorelease];
[firstView setTabBarItem:item1];

secondView = [[SecondView alloc] init];
UITabBarItem *item2 = [[[UITabBarItem alloc]initWithTitle:@"Sec" image:nil tag:1] autorelease];
[secondView setTabBarItem:item2];

[tabBarController setViewControllers:[NSArray arrayWithObjects:firstView,secondView,nil] animated:NO];

[window addSubview:tabBarController.view];

Конечно, этот код не будет полезен, как есть, вам нужно будет создать представления вручную или создать файл пера для каждого представления и загрузить его в initWithNibName

ОБНОВЛЕНИЕ 3
Проверьте это Стэнфордский курс iPhone , это бесплатный курс от Стэнфордского университета.лекторы - сотрудники Apple.Лекция 7 под названием Контроллеры панели навигации и вкладок даст вам хорошее представление об этих компонентах.

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