iOS 侧滑返回过程中导航栏的黑色问题解决办法

释放双眼,带上耳机,听听看~!

A页面隐藏导航栏,B页面显示导航栏。当从B点击返回或者滑动返回A页面时导航栏的位置会出现黑条

1、首先出现黑条的原因是:由于这样隐藏导航条的时候没有设置过渡动画,当切换页面的时候导航栏的位置就会出现黑条

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

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

}

2、解决办法:在隐藏和显示导航栏时添加过渡动画


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

}

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

}

他来了 他来了,他带着问题走来了 :这样写切换页面的时候出现黑条的问题是得到了解决,但是会出现切换tab时,页面会闪烁一下,导航栏那里还是能看到黑条,所以下面的写法才是最完整的写法

- (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];

}

其实还有一种最简单的做法:设置window的背景颜色为主题色,这样就不会出现黑块,但是还是会出现界面不协调的问题,所以不建议使用。

 

人已赞赏
iOS文章

iOS 使用Shimmer来在Swift工程中添加微光闪烁的特效

2020-3-26 21:03:46

iOS文章

iOS13 UITabbar 隐藏顶部分割线

2020-3-27 12:46:48

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索