2016-08-23 3 views
0

У меня есть loginViewController и при успешном входе в систему Я хочу запустить приложение, показывая начальный экран с родительской панелью вкладок. enter image description hereКак запустить TabBarController после ViewController

Текущий процесс я использую:

UITabBarController *arvc = [self.storyboard instantiateViewControllerWithIdentifier:@"homeVC"]; 

    [self presentViewController:arvc animated:YES completion:nil]; 

Но dosen't загрузить панель вкладок ниже экрана. Итак, как добиться этого.

+0

вы хотите, чтобы перейти к вам приложение бар продолжение вкладки после успешного входа в систему? – vaibhav

+0

@vaibhav да, это правильно. –

+0

Почему вы не делаете TabBarController в качестве начального контроллера? В представлении Нагрузка «TabBarController» проверяет, что если пользователь не зарегистрирован, то присутствует LoginViewController. Когда пользователь будет успешно зарегистрирован, отпустите его. – Mahesh

ответ

1

В вашем storyboard, От вашего loginviewController ctrl+drag к вашему UITabbarController и выберите show из popup. Он создаст новый segue из вашего контроллера входа в систему управления tabbarcontroller. затем выберите segue, щелкнув по нему, и от установите его identifier как pushToTabbarController или любой другой идентификатор, который вы хотите сохранить.

Теперь, когда вы успешно войти и когда хотите поехать в tabbbarviewcontroller то вам просто нужно позвонить,

[self performSegueWithIdentifier:@"pushToTabbarController" sender:nil]; //identifier that you have set in Interface builder 
+0

Я получаю только три варианта на 'ctrl + drag ', это' push' 'modal' и' custom' и If II только помещает строку кода в логин Успех это дало мне ошибку «Получатель не имеет ответа с идентификатором» –

+0

'ctrl + drag' от' loginviewcontroller' до вашего 'tabbarviewcontroller', и вы увидите' show'. Вы должны перетащить из «желтого квадрата», доступного в вашем диспетчере просмотра сверху – Lion

+0

, после того, как вы установите этот сегмент и укажите правильный идентификатор, и будете использовать этот идентификатор в методе 'performSegueWithIdentifier', вы не получите' Receiver не имеет ошибки с идентификатором! ! – Lion

0
MyViewController* vc1 = [[MyViewController alloc] init]; 
    MyOtherViewController* vc2 = [[MyOtherViewController alloc] init]; 

    NSArray* controllers = [NSArray arrayWithObjects:vc1, vc2, nil]; 
    tabBarController.viewControllers = controllers; 

window.rootViewController = tabBarController; 
0

вы можете перемещаться вам приложение после успешного входа в систему, используя ниже код. Метод presentViewController обновит hirachary из viewcontrollers и текущего viewController станет rootViewController ..

вы должны дать identity ваших tabBarController с помощью Identity Inspector на раскадровке см изображения.

enter image description here

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"viewControllerName"]; 
// this will update viewcontroller stack and vc will become top viewController 
[self presentViewController:vc animated:NO completion:nil];