iOS | 设置导航栏背景色,隐藏导航栏分割线

//去掉导航栏分割线

    UIImage*img = [UIImagenew];

    [self.navigationController.navigationBar setBackgroundImage:img  forBarMetrics:UIBarMetricsDefault];

    self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];

- (void)setNavLineHidden:(BOOL)hidden{

    if([self.navigationController.navigationBarrespondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){

        NSArray *list=self.navigationController.navigationBar.subviews;

        UIImageView*_navLine = [UIImageViewnew];

        for(idobjinlist) {

            if([objisKindOfClass:[UIViewclass]]) {

                UIImageView*imageView=(UIImageView*)obj;

                NSArray*list2 = imageView.subviews;

                for(idobj2inlist2) {

                    if([obj2isKindOfClass:[UIImageViewclass]]) {

                        UIImageView*imgView = (UIImageView*)obj2;

                        if(CGRectGetHeight([imgViewframe]) ==0.5) {

                            _navLine = (UIImageView*)obj2;

                            break;

                        }

                    }

                }

            }

        }

        _navLine.hidden= hidden;

    }

}


    //设置导航栏背景色

    UINavigationBar * bar = self.navigationController.navigationBar;

    UIImage *image = [UIImage imageWithColor:[UIColor colorWithHex:0x444550]];

    [barsetBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容