首页 > 代码库 > iOS开发 - navigationBar背景图默认的Translucent

iOS开发 - navigationBar背景图默认的Translucent

今天在调界面,发现以前在iOS7.0下好好的界面在iOS7.1下出现了问题:

1.navigationBar背景图,颜色变浅了。认真看可以发现7.1比7.0颜色淡。

7.0
7.1
fix:原来是7.1下navigationBar背景图默认的Translucent会表现出来,只要把Translucent勾掉就好了

2.修改完颜色,感觉没问题了吧?一运行发现,navigationBar下面有条白色细线(这个问题在7.0就有了)

navigationBar下面接着searchBar
navigationBar下面接着tableView

fix:其实这是navigationBar的阴影,默认是一个像素的白线,于是 

[[UINavigationBar appearance] setShadowImage:[UIImage new]];
经过上面的修改后,发现白线都消失了,除了navigationBar下面接着searchBar的情况。又经过一番查找,发现是searchBar顶部有个叫
hairline的线,改进了一下刚才的代码,

[[UINavigationBar appearance] setShadowImage:[UIImage imageWithColor:[UIColor colorWithHexString:@"4290cc"] size:CGSizeMake(320, 1)]];

iOS开发 - navigationBar背景图默认的Translucent