关于UINavigationBar加载不规则的图片的总结

先看效果图




这是素材



小弟刚开始直接用navigationBar加载这张背景图

appDelgate里:
 
Objective C code
?
1
2
[[ UINavigationBar  appearance] setBackgroundImage:[ UIImage  imageNamed:@ "ToPointNavBgFull" ]
                                                   forBarMetrics: UIBarMetricsDefault ];
   

然后得到的效果图:





有黑线 而且 下方显示不完整

然后开始考虑是不是Navigation的 barTintColor是白色 , 然后开始设置barTintColor设置成clearColor没有效果 还是一样 奇怪了 ,研究了一番 总结了两种方法
适合IOS7.0以上

1.设置NavigationBar的BackgroundImage和ShadowImage
注意 这种方法要将一张图片分成两段(根据自己的情况)
shadowImage:

BackgroundImage:



appDelegate里:
Objective C code
?
1
2
3
   [[ UINavigationBar  appearance] setBackgroundImage:[ UIImage  imageNamed:@ "ToPointNavBg" ]
                                                   forBarMetrics: UIBarMetricsDefault ];
     [[ UINavigationBar  appearance] setShadowImage:[ UIImage  imageNamed:@ "shadowNav" ]]  ;

效果图:





2.在NavigationBar加上一个ImageView

在viewWillAppear里
Objective C code
?
1
2
3
  UIImageView  *titleView = [[ UIImageView  alloc]initWithImage:[ UIImage  imageNamed:@ "ToPointNavBgFull" ]];
     [ self .navigationController.navigationBar addSubview:titleView];
     [ self .navigationController.navigationBar sendSubviewToBack:titleView];

注意    [self.navigationController.navigationBar sendSubviewToBack:titleView];这一句,这是一个层级的交换的动作,一定要加上这一句,不然会直接覆盖掉title和navigationItem
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值