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

2018-10-10  本文已影响0人  颜小宋

//去掉导航栏分割线

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

上一篇 下一篇

猜你喜欢

热点阅读