iOS导航栏设置隐藏导致侧滑返回有黑边

开发时经常遇到 一级页面是隐藏系统导航栏,二级页面显示系统导航栏的情况,之前通常是这样设置的:

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

-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    self.navigationController.navigationBar.hidden = NO;
}

这种方法设置以后 在二级页面返回一级页面的时候 特别是侧滑返回的时候会有黑边出现 影响用户体验 如下图:


iOS导航栏设置隐藏导致侧滑返回有黑边_第1张图片
侧滑黑边

改成下面的方法设置导航栏可以解决这个问题

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

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

你可能感兴趣的:(iOS导航栏设置隐藏导致侧滑返回有黑边)