隐藏导航栏时如何避免黑框出现?

jin*_*jin 1 iphone objective-c uinavigationbar ios4 ios5

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

jin*_*jin 14

好的,我找到了答案:

self.navigationController.view.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)


Han*_*ney 7

这可以解决问题,而不会破坏颜色,这可能导致导航控制器的颜色错误.

只需将其设置为viewWillAppear中的动画:)

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:YES];
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

如果你回到带有导航控制器的页面,将动画设置为NO

- (IBAction)backButtonClicked:(id)sender {
    [self.navigationController setNavigationBarHidden:NO animated:NO];
    [self.navigationController popToRootViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

  • 我显然是:-p (2认同)