0

У меня есть 2 диспетчера viewController в TabBarController, во втором ViewController У меня есть кнопка, которая по щелчку приведет меня к ThanksViewController с вне Tabs больше!Выход из TabBarController в ViewController

Пожалуйста, проверьте мой код ниже:

//AppDelegate.m 

UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:_viewController]; 
    self.window.rootViewController = nav; 

//ViewController.m 

tab=[[UITabBarController alloc]init]; 
    tab.delegate=self; 

    oneViewController=[[OneViewController alloc]init]; 

    UINavigationController *oneNav=[[UINavigationController alloc]initWithRootViewController:oneViewController]; 
    [email protected]"One"; 

    twoViewController=[[TwoViewController alloc]init]; 

    UINavigationController *twoNav=[[UINavigationController alloc]initWithRootViewController:twoViewController]; 
    [email protected]"Two"; 

    views=[[NSMutableArray alloc]initWithObjects:oneNav, twoNav, nil]; 

    tab.viewControllers=views; 
    [tab.view setFrame:CGRectMake(0, 0, 1024, 748)]; 

    [self.view addSubview:tab.view]; 

В моей TwoViewController (вкладка 2) У меня есть кнопка «OK», который по щелчку должен взять меня ThanksViewController, за что я написал следующий код :

//TwoViewController.m 

-(void)OK 
{ 
    ThanksViewController *thanksViewController=[[ThanksViewController alloc]init]; 
    [self.navigationController pushViewController:thanksViewController animated:YES]; 
} 

Моя проблема, я хочу, чтобы выйти из TabBarController и перейти к ThanksViewController (без TabBarController на дне), но в этом случае я получаю ThanksViewController в самом TabBarController вместо TwoViewController.

Может кто-нибудь, пожалуйста, предложите мне в этом случае, спасибо заранее.

+0

возможно дубликат [Как выйти из UITabBarController к UINavigationController по нажатию кнопки] (http://stackoverflow.com/questions/18332647/how-to-exit- от-uitabbarcontroller-to-uinavigationcontroller-on-button-click) – rckoenes

+0

Это был мой пост, но я не мог получить правильный ответ, поэтому я подумал о том, чтобы сделать это более ясным в этом сообщении. – maddy

ответ

0

После нажатия на кнопку ThanksViewController вы хотите вернуться и снова представить TabBarController? Если да, то использовать модальный, как это:

ThanksViewController *view = [[ThanksViewController alloc] init]; 
UINavigationController *navThanks = [[UINavigationController alloc] initWithRootViewController:view]; 

[navThanks setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 

[self presentModalViewController:navThanks animated:YES]; 
[self.view setHidden:YES]; 
+0

Нет. Мне не нужно возвращаться к TabBarController снова, я хочу только ThanksViewController. – maddy

+0

Итак, вам нужно будет изменить свой self.window, как и в первый раз, чтобы запустить приложение с помощью tabBarController. Инициируйте навигационную панель и установите в качестве своего окна self.window, ваш tabBarController будет отброшен. –

+0

[self presentModalViewController: navThanks анимированный:]; устарел в iOS 6.0 – maddy