现在的位置: 首页 > 综合 > 正文

iOS7适配——导航栏问题

2018年04月14日 ⁄ 综合 ⁄ 共 751字 ⁄ 字号 评论关闭

这几天在适配iOS7时,导航栏出现了问题。问题是iOS7后状态栏透明了,导航栏的高度变成了64,而本来的图片只有47,在ios6上没问题在ios7上出现了平铺效果,中间多了一条显眼的黑线,如

后来查阅资料,说是将navigationBar的transculent设置为NO,尝试过之后发现没有什么作用,后来我一想干脆叫设计师给我切一张64的图片。本来以为问题就这么解决了,结果发现将64高度的图片放上面去时,结果发现上面直接没了背景图,变成了白色薄玻璃样式了,如

这问题太怪异了,最后我决定先将它放一放,做其它的东西。今天这一过来看,我自己重新建立了一个工程,拖了一张320*44的图片做为导航栏,结果发现没有问题,导航栏的高度仍然是44。

这就怪异了!!!

我又将项目中的那张图片测试,发现还是出现平铺有上面的黑线问题。究其根源,仔细对比,发现两张图片只是高度不同,一个是44, 一个是47,难道苹果在内部做了判断,因为图片高度大于44而强制性将导航栏高度改成了64,人工设置都没用?我觉得隐隐抓住了什么。

于是,让设计师给我切了一张44的图片给我,果然,这个问题解决了,如



那为什么64的不行?理论上放一张64的图片是没问题,这也是我前面想不通而暂时放下的问题,后来我拖到测试工程里测试,发现64的没问题。再次分析,当使用64的图片时,系统使用的白色薄玻璃样式,那么它使用的是系统自带的导航栏,那是不是因为我的图片没有设置成功?结果果然如此,因为我的粗心,将图片拖进了文件夹里,但是没有加入工程才造成如此,最后我重新拖到工程里,出现了满意的结果,如



总结:1、导航栏的背景图片高度最好使用44或者64。2、遇到问题,仔细分析,通过建立另外一个工程验证其中正确的东西,从而缩小问题查找范围,最终将问题找到,解决问题。

抱歉!评论已关闭.