去掉导航栏底线

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

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,188评论 25 709
  • 可以用作WordPress,Discuz!,甚至一些用Node.js运行的程序。由百度站长中心新推出,安装的过程十...
    众味阅读 6,921评论 0 0
  • 你可能对这个标题可能理解不了。由小编简单描述一下唠嗑是东北俗称几个人在一起聊一些身边发生的不足为奇事情但有的打发时...
    枝青_阅读 1,553评论 0 0
  • “禾风,你长得真好看!” “禾风,你的作业能借我抄一下吗?” “禾风,这周末你还要去上补习班啊?” “禾风,你怎么...
    禾风有木阅读 1,765评论 0 2

友情链接更多精彩内容