1

У меня есть приложение с UITabBar и NavigationController. Когда я использую pushViewController, появляется новый ViewController с кнопкой NavigationController и back, но UITabBarController исчезает. Я знаю, что здесь много вопросов, но любой из них решил мой вопрос, может быть, потому, что я не понимаю ответы.UITabBarController исчезает, когда pushViewController

Любое предложение?

ActivityViewController *activityController = [[ActivityViewController alloc] initWithNibName:@"ActivityViewController" bundle:nil]; 
    [self.navigationController pushViewController:activityController animated:NO]; 
+0

Можете ли вы опубликовать код, на который вы нажимаете свой следующий viewController? – akashivskyy

+0

@ Кашив там у вас есть – sergiocg90

ответ

4

Это, вероятно, потому, что Ваш RootViewController (для основного UIWindow) устанавливается в Navigationcontroller вместо вашего TabBar. Если вы не хотите, чтобы TabBar уйти просто установить его в качестве контроллера представления корневой

Выполните следующие действия в appDidFinishLaunching в вашем AppDelegate

LoginViewController *loginViewController = [[FirstViewController alloc] init]; 
UINavigationController *loginNavigationController = [[UINavigationController alloc] loginViewController]; 
[firstViewController release]; 

self.window.rootViewController = loginNavigationController; 

Затем в Странице Логина:

- (void)loginSuccessfull 
{ 
    FirstViewController *firstViewController = [[FirstViewController alloc] init]; 
    UINavigationController *firstNavigationController = [[UINavigationController alloc] initWithViewController:firstViewController]; 
    [firstViewController release]; 

    SecondViewController *secondViewController = [[SecondViewController alloc] init]; 
    UINavigationController *secondNavigationController = [[UINavigationController alloc] initWithViewController:secondViewController]; 
    [secondViewController release]; 


    UITabBarController *tabBarController = [[UITabBarController alloc] init]; 
    [tabBarController setViewControllers: 
[NSArray arrayWithObjects:firstNavigationController, secondNavigationController, nil]]; 

    [firstNavigationController release]; 
    [secondNavigationController release]; 

    [self.navigationController pushViewController:tabBarController]; 
    [tabBarController release]; 

Если вам все еще нужны навигационные функции, просто оберните свой просмотрControllers внутри UINavigationController и добавьте t он запустил навигационный контроль на tabBar, а не UIViewcontroller

+0

Как настроить TabBar как rootController? – sergiocg90

+0

Хорошо, но у меня нет tabBar в начале. У меня есть вид входа, а затем tabBarController. Любое предложение организовать это? – sergiocg90

+0

LoginViewcontroller станет вашим rootViewController, после успешного входа в систему инициализируйте вкладку и перейдите к нему, вызвав pushViewController: tabBar – aryaxt

Смежные вопросы