ios – 带视图控制器的Push / Pop View控制器,不带导航栏

前端之家收集整理的这篇文章主要介绍了ios – 带视图控制器的Push / Pop View控制器,不带导航栏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用一个隐藏的导航栏从视图控制器中推出一个视图控制器.

我试过各种各样的组合[[self navigationController] setNavigationBarHidden:YES animated:NO];在viewWillAppear,viewDidAppear,viewWillDisappear …等

  1. // First View Controller
  2.  
  3. @implementation FirstViewController
  4.  
  5. - (void)viewWillAppear:(BOOL)animated {
  6. [super viewWillAppear:animated];
  7. [[self navigationController] setNavigationBarHidden:YES animated:NO];
  8.  
  9. NSLog(@"[%@ viewWillAppear]",self);
  10. }
  11.  
  12. @end
  13.  
  14.  
  15. // Second View Controller
  16.  
  17.  
  18. @implementation SecondViewController
  19.  
  20. - (void)viewWillAppear:(BOOL)animated {
  21. [super viewWillAppear:animated];
  22. [[self navigationController] setNavigationBarHidden:NO animated:NO];
  23.  
  24. NSLog(@"[%@ viewWillAppear]",self);
  25. }
  26.  
  27. @end

没有什么工作我也尝试过自定义代码来“动画化”一个推送和弹出,这是有效的,但我失去了边缘滑动和查看平移.在我深入挖掘之前,只想确保我不会重新发明.

星巴克应用程序是我想要模仿的.

应用程序的根视图控制器(深色背景视图)是全屏幕,并注意到它没有UINavigationBar.但是当您点击其中一个按钮时,它会使用UINavigationBar来推送视图控制器(浅色背景视图).从那里,如果您点击“返回”箭头,它将使用导航栏查看控制器.互动式流行滑动手势也可以.

解决方法

有可能没有一起自己解决一个解决办法.这是你做的:

你的root viewController:

  1. @implementation ViewController
  2.  
  3. ....
  4.  
  5. - (void)viewWillAppear:(BOOL)animated {
  6. [super viewWillAppear:animated];
  7.  
  8. [self.navigationController setNavigationBarHidden:YES animated:animated];
  9. }
  10.  
  11. @end

并推送viewController:

  1. @implementation SecondViewController
  2.  
  3. - (void)viewWillAppear:(BOOL)animated {
  4. [super viewWillAppear:animated];
  5.  
  6. [self.navigationController setNavigationBarHidden:NO animated:animated];
  7. }
  8.  
  9. @end

这样做.它也保持互动过渡的工作;)

然而,我觉得令人不安的是,这种类型的功能根本没有被苹果记录下来. – 您还可以隐藏和显示具有这些“呼叫点”的工具栏(viewWillAppear

猜你在找的iOS相关文章