2012-04-12 74 views
0

我有一个与主页面的应用程序是一个隐藏的导航栏,当我从导航栏的子页面回到这个主页面,因为我设置导航隐藏在主页面的方法: - (void)viewWillAppear,我发现一个黑匣子会出现动画,如何避免它?非常感谢你!!!如何避免隐藏导航栏时出现黑框?

回答

8

好吧,我找到了答案:

self.navigationController.view.backgroundColor = [UIColor redColor]; 
+0

为我工作:) – Garfbargle 2015-01-29 00:04:06

+0

感谢你为这个黑魔法。 – felixwcf 2017-04-03 10:00:24

4

这能解决问题没有黑客的颜色,这可能会导致导航控制器是错误的颜色。

只需将其设置为在viewWillAppear中:)

-(void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:YES]; 
    [self.navigationController setNavigationBarHidden:YES animated:YES]; 
} 

是动画,如果你回到页面导航控制器集动画NO

- (IBAction)backButtonClicked:(id)sender { 
    [self.navigationController setNavigationBarHidden:NO animated:NO]; 
    [self.navigationController popToRootViewControllerAnimated:YES]; 
} 
+0

动画:是。谁会猜到? – 2016-11-08 19:57:30

+2

我显然: - p – 2016-11-14 12:34:37

0

对于Swift3.0

In First ViewController

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(true) 
    self.navigationController?.setNavigationBarHidden(true, animated: true) 
    } 

在第二的ViewController

func backButtonPressed() { 
     self.navigationController?.setNavigationBarHidden(false, animated: false) 
     self.navigationController?.popViewController(animated: true) 
    }