美文网首页
iOS 导航栏侧滑返回过程留白

iOS 导航栏侧滑返回过程留白

作者: smile_frank | 来源:发表于2019-08-10 22:24 被阅读0次

写在前面

一个隐藏导航栏的A页面push到另一个有导航栏的B页面,然后从B页面pop回A页面导航栏就会出现白边
直接上图

没有过渡动画
原因是:A界面导航栏被影藏,B页面的导航栏存在。过渡的时候没有动画
image.png

赶紧修改一下

- (void)viewWillAppear:(BOOL)animated{
    
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:YES];
    [UIApplication sharedApplication].statusBarStyle= UIStatusBarStyleLightContent;
}

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

看效果


修正效果图

问题很简单,要细心哟!

另外在分享一个方法实现同样的效果

-(void)viewDidLoad {
    self.navigationController.delegate = self;
}
//#pragma mark - UINavigationControllerDelegate
// 将要显示控制器
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    // 判断要显示的控制器是否是自己
    BOOL isShowHomePage = [viewController isKindOfClass:[self class]];

    [self.navigationController setNavigationBarHidden:isShowHomePage animated:YES];
}

相关文章

网友评论

      本文标题:iOS 导航栏侧滑返回过程留白

      本文链接:https://www.haomeiwen.com/subject/mfudjctx.html