2012-04-11 5 views
1

Я сделал очень простое приложение на основе навигации (UIViewController). В представлении есть одна кнопка на Main RootViewController.Switch views - UIViewController to UITabBarController

Далее я сделал 2 класса: TabOneViewController, TabTwoViewController. Все хорошо. Затем я создал новый класс TabBarViewController. Я открыл файл NIB и упал на него на UITabBarController. Две вкладки, которые он создает по умолчанию, были назначены (соответственно) моим контроллерам ViewOne и TabTwo. сильный текст Затем в моем TabBarViewController я сделал IBOutlet для UITabBarController, синтезировал его и т. Д. И т. Д. Я связал его в построителе интерфейса через «владелец файлов».

В RootViewController я связала кнопку моему методу «pushView», и в этом методе pushView, у меня есть следующий код:

- (IBAction) pushView { 
    TabBarViewController *controller = [[TabBarViewController alloc] init]; 
    [self.navigationController pushViewController:controller animated:YES]; 
    [controller release]; 
} 

Конечный результат это ДЕЙСТВИТЕЛЬНО нажать вид, но я не может видеть панель вкладок внизу, не говоря уже о любой из страниц, которые я добавил в контроллер.

Что я делаю неправильно? Почему я не могу связать его в IB?

ответ

0

Я не уверен на 100%, если это разрешено .. потому что у вас уже есть один tabBarController как rootViewController, и вы сбросили еще один tabBarController в качестве первого контроллера табуляции, вкладки ll перекрываются, учитывая количество недвижимости, которое у вас есть на вашем iPhone, это имеет смысл, чтобы не допустить tabViewController внутри другого

0

во-первых, вам нужно выделить ваш контроллер представления с пером:

TabBarViewController *controller = [[TabBarViewController alloc] initWithNibName:@"YourNibName" bundle:nil]; 

во-вторых, в IB, нажмите UITabBarController и перейти к инспектору идентичности и сделать убедитесь, что вы выбрали свой собственный класс. Тем не менее, если вы не переопределяете или не добавляете какую-либо функциональность, вам, вероятно, не нужен особый класс, просто используйте UITabBarController напрямую:

UITabBarController *controller = [[UITabBarController alloc] initWithNibName:@"YourNibName" bundle:nil]; 
Смежные вопросы