去除导航栏的分割线和毛玻璃

2016-12-21  本文已影响77人  健健锅

很多应用现在是,导航栏和页面的上半部分颜色是一样的.这个方法就可以
方法1

/*
 -(void)viewWillAppear:(BOOL)animated
 {
 [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
 [self.navigationController.navigationBar setShadowImage:[UIImage new]];
 }
 //在页面消失的时候就让navigationbar还原样式
 -(void)viewWillDisappear:(BOOL)animated{
 
 [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
 [self.navigationController.navigationBar setShadowImage:nil];
 }
 */

方法二;

//    UIImageView *navigationImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];
//    navigationImageView.hidden = YES;
//    self.navigationController.navigationBar.translucent = NO;


-(UIImageView *)findHairlineImageViewUnder:(UIView *)view {
    
    if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) {
        return (UIImageView *)view;
    }
    for (UIView *subview in view.subviews) {
        UIImageView *imageView = [self findHairlineImageViewUnder:subview];
        if (imageView) {
            return imageView;
        }
    }
    return nil;
}

上一篇 下一篇

猜你喜欢

热点阅读