2012-06-22 63 views
1

我使用UINavigationController編碼了許多過渡應用程序。
如何使用UINavigationController從一個視圖中推送多個視圖

這是我的過渡圖像

  1. 「主」 - > 「二」 - > 「三」 - > 「第四」
  2. 「二」 - > 「A」 - > 「B」
  3. 「第二」 - > 「C」
  4. 「第三」 - > 「d」

    • 「主」 是RootViewController的。
    • 在No2和No3,if (["boo" isEqual:"foo"]){transit "A"} else if ("boo"...){transit "C"}

我可以做 「主」 到 「第四」,1號過渡。
這樣

ThirdViewController *thirdView = [[ThirdViewController alloc] init]; 
[self.navigationController pushViewController:thirdView animated:YES]; 

但我不能讓 「二」 到 「A」 和 「B」。
我以爲將UIRootViewController設置爲「Second」。
但是「Second」需要通過「A」和「C」。

在 「第二」 這樣的...

SecondViewController.m

AViewController *aView = [[AViewController alloc] init]; 
[self.navigationController pushViewController:aView animated:YES]; 

我如何編寫?

謝謝!對不起,英文不好。
請幫幫我!

回答

2
NSInteger index = 0; 
for (UIViewController *view in self.navigationController.viewControllers) { 
    if([view.nibName isEqualToString:@"RootViewController"])//put any `XIB name` where u want to navigate 
     break; 
    index = index + 1; 
} 
[[self navigationController] popToViewController:[[self.navigationController viewControllers] objectAtIndex:index] animated:YES];  
+0

嗨! Rinju Jain! 非常感謝! 我嘗試了! – Seiko

+0

歡迎.. !! Seiko –

0

試試這個代碼推到一個控制器

DrawImgViewcontroller *ObjImageViewController = [[DrawImgViewcontroller alloc] initWithNibName:@"DrawImgViewcontroller" bundle:nil]; 
    [self.navigationController pushViewController:ObjImageViewController animated:YES]; 
    [ObjImageViewController release]; 

,並使用下面的代碼回去

[self.navigationController popViewControllerAnimated:YES]; 

,並用它來你喜歡

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:NO];//Instead of one you can use the currect index you need 
任何控制器
+0

嗨!Vishnu R S Krishnan! 非常感謝!我嘗試它。 – Seiko

相關問題