iOS 导航栏下方横线(分割线)的隐藏

在网上看到的一种隐藏导航栏下方的横线的方法,分享一下,有的猿是用的

[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];

但我们不想所有的导航栏的横线都这样,另一种方法就比较好控制这条线的消失和隐藏,获取这条线的方法有多种,我找到一种比较简单的,如下。
@property(weak,nonatomic) UIView * navLine;//导航栏横线

- (UIView *)navLine
{
    if (!_navLine) {
        UIView *backgroundView = [self.navigationController.navigationBar subviews].firstObject;
        _navLine = backgroundView.subviews.firstObject;
    }
    return _navLine;
}

在生命周期中设置这条横线的显示和隐藏

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.navLine.hidden = YES;
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    self.navLine.hidden = NO;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容