Ios 转换为ViewController将保留上一个视图的导航栏

Ios 转换为ViewController将保留上一个视图的导航栏,ios,objective-c,uinavigationbar,pushviewcontroller,catransition,Ios,Objective C,Uinavigationbar,Pushviewcontroller,Catransition,我希望通过从stackoverflow获得的这种转换,以编程方式导航到ViewController CATransition* transition = [CATransition animation]; transition.duration = .45; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; transi

我希望通过从stackoverflow获得的这种转换,以编程方式导航到ViewController

  CATransition* transition = [CATransition animation];
  transition.duration = .45;
  transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
  transition.type = kCATransitionFade;
  self.navigationController.view.layer addAnimation:transition forKey:kCATransition];

  UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
  AddDeviceViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"AddDeviceViewController"];
  self.navigationController pushViewController:vc animated:NO];

但当它转换到视图时,上一个视图中的导航栏将保持不变。如何使转换视图的导航栏显示而不是上一个?

AddDeviceViewController
中实现
视图将显示
视图将消失
。在
视图中将出现
隐藏
导航栏
,在
视图中将消失
显示
导航栏
。此机制仅隐藏
AddDeviceViewController
的导航栏。大概

 -(void)viewWillAppear:(BOOL)animated{

     self.navigationController.navigationBar.hidden = YES;
 }

 -(void)viewWillDisappear:(BOOL)animated{

       self.navigationController.navigationBar.hidden = NO;
 }

然后尝试在
上一个视图的
视图中隐藏
导航栏
!谢谢你的帮助!逻辑非常直截了当。