实现导航栏全透明

网上找了很久都没找的好的方法要么太简单不好用

 要么就是太复杂 太多了。 比如:

  self.navigationController.navigationBar.alpha = 0;

这个什么就都透明了  没什么用

2
   

[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"porfile_nav_bg@2x.png"]forBarMetrics:UIBarMetricsCompact];

self.navigationController.navigationBar.shadowImage =[UIImageimageNamed:@"top_01.png"];

这个虽然透明了还是会留下一条黑线

还有其他的 代码特别多就不写了


正确方法:

  

   [self.navigationController.navigationBarsetBackgroundImage:[selfimageWithColor:[UIColor clearColor]]

                       forBarPosition:UIBarPositionAny

                           barMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBarsetShadowImage:[UIImagenew]];

 

  

- (UIImage *)imageWithColor:(UIColor *)color

{

    // 描述矩形

    CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);

    

    // 开启位图上下文

    UIGraphicsBeginImageContext(rect.size);

    // 获取位图上下文

    CGContextRef context =UIGraphicsGetCurrentContext();

    // 使用color演示填充上下文

    CGContextSetFillColorWithColor(context,[color CGColor]);

    // 渲染上下文

    CGContextFillRect(context, rect);

    // 从上下文中获取图片

    UIImage *theImage =UIGraphicsGetImageFromCurrentImageContext();

    // 结束上下文

    UIGraphicsEndImageContext();

    

    return theImage;

    

}



 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值