2012-03-07 35 views
0

我正在使用navigationcontroller讓用戶在不同的視圖之間導航。問題在於導航控制器在某種程度上重用了我已經彈出的視圖,但我不想要這種行爲。如何確保navigationcontroller不會重用控制器

我該如何確定navigationcontroller不會在內存中保留任何東西?也不是xib文件?

謝謝你。

編輯

這裏是我用推

VisualViewController *visualController = [[VisualViewController alloc] init]; 
CATransition *transition = [CATransition animation]; 
transition.duration = 0.4; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
transition.type = kCATransitionReveal; 
transition.subtype = kCATransitionFromRight; 
transition.delegate = self; 
[self.navigationController.view.layer addAnimation:transition forKey:@"GoToVisualAnimation"]; 
[self.navigationController pushViewController:visualController animated:NO]; 
[visualController release]; 

,並彈出代碼:

CATransition *transition = [CATransition animation]; 
transition.duration = 0.75; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
transition.type = kCATransitionReveal; 
transition.subtype = kCATransitionFromLeft; 
transition.delegate = self; 
[self.navigationController.view.layer addAnimation:transition forKey:nil]; 
[self.navigationController popViewControllerAnimated:NO]; 

希望它能幫助。

謝謝!

+1

總是有幫助,如果你顯示一些代碼。 – 2012-03-07 14:26:27

+0

噢抱歉..我剛添加了代碼 – 2012-03-07 14:31:49

+0

很酷!總是有幫助 – 2012-03-07 14:35:20

回答

0

這將確保您彈出正確的視圖控制器。

for(UIViewController *myVC in self.navigationController.viewControllers){ 
NSLog(@"Current View [email protected]%@",myVC); 
if ([myVC isKindOfClass:[[NameOftheViewControllerYouSeek] class]]) { 
NSLog(@"You found the right View Controller"); 
[self.navigationController setNavigationBarHidden:NO animated:NO]; 
[self.navigationController popToViewController:myVC animated:YES];  
} 
+0

試過......沒有幫助:-( – 2012-03-09 13:55:04

相關問題