美文网首页
去掉导航栏底线

去掉导航栏底线

作者: c_f | 来源:发表于2017-05-26 15:02 被阅读0次

    发现之前用创建一个空image赋值给UINavigationBar的shadowImage的方法不管用,那就给UINavigationBar的shadowImage设置一个透明的image或者和导航栏一样颜色的图片。代码如下:

    // 创建一个UINavigationBar的category,实现以下方法:
    //宏定义宽高
    #define NavBar_width [UIScreen mainScreen].bounds.size.width
    #define NavBar_height 1
    //用导航栏图片设置
    -(void)clearShadowImageWithImage:(UIImage*)image {
        
        UIGraphicsBeginImageContext(CGSizeMake(NavBar_width, NavBar_height));
        
        [image drawInRect:CGRectMake (0, 0, NavBar_width, NavBar_height)];
        
        image = UIGraphicsGetImageFromCurrentImageContext();
        
        UIGraphicsEndImageContext ();
        
        self.shadowImage = image;
    }
    
    //用导航栏颜色设置
    - (void)clearShadowImageWithColor:(UIColor*)color {
        self.shadowImage = [self imageWithColor:color];
    }
    - (UIImage*)imageWithColor:(UIColor*)color {
        if (!color) color = [UIColor clearColor];
        
        UIGraphicsBeginImageContext(CGSizeMake(NavBar_width, NavBar_height));
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextSetFillColorWithColor(context, [color CGColor]);
        CGContextFillRect(context, CGRectMake (0 ,0 , NavBar_width, NavBar_height));
        UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return theImage;
    }
    

    相关文章

      网友评论

          本文标题:去掉导航栏底线

          本文链接:https://www.haomeiwen.com/subject/xhhxfxtx.html