01:39:19前言:有时候我们需要设置UINavigationController的导航条NavigationBar的颜色为透明度,这时候就需要使用到NavigationBar的barStyle这个属性:
使用示例:nc.navigationBar.barStyle = UIBarStyleDefault;
<备注:下面全部展示的UI图例,window.view背景是绿色的>
一、在没有设置背景图片的情况下:
1、UIBarStyleDefaul
因为是默认,所以可以不设置barStyle这个属性。
2、UIBarStyleBlack
3、UIBarStyleBlackOpaque
4、UIBarStyleBlackTranslucent(Translucent半透明)
这里2~4都是一样的:
二、将1X1的透明图片或者是空UIImage对象(建议直接使用UIImage对象,连图片都不需要了),设置为背景
代码实例:
当然,还有一个前提需要提出来:一下实例图都是没有添加下面字段的(XCode 7.2.1版本)
1、UIBarStyleDefaul
2、UIBarStyleBlack
3、UIBarStyleBlackOpaque
4、UIBarStyleBlackTranslucent(Translucent半透明)
这里2~4都是一样的:
三、将1X1的全黑色的图片,设置为背景
1、UIBarStyleDefaul
2、UIBarStyleBlack
3、UIBarStyleBlackOpaque
4、UIBarStyleBlackTranslucent(Translucent半透明)
这里2~4都是一样的:
四、将1X1的红色的图片,设置为背景
1、UIBarStyleDefaul
2、UIBarStyleBlack
3、UIBarStyleBlackOpaque
4、UIBarStyleBlackTranslucent(Translucent半透明)
附:遇到的还没有解决的问题:
因为我看到QQ空间的导航控制器和状态栏是能够连在一起同时会渐变颜色,所以就讲上面通过图片设置背景换成直接更改导航条UINavigationBar的背景颜色试了试;
我就添加了一行代码:
效果却是这样的:
然后我试了试默认不设置背景UIImage对象或者是不设置背景透明的图片:
效果更加不好看了:
解决思路:
我不知道QQ空间是怎么做到的,但是我有一个思路:自定义高度64的导航控制器的状态栏,左上角的起点坐标为(0,0)。没试过,有谁做出来的,欢迎交流。
转载需注明出处:http://www.cnblogs.com/goodboy-heyang/p/5246447.html,尊重劳动成果。
IOS之UI--设置NavigationBar的颜色以及透明度
原文:http://www.cnblogs.com/goodboy-heyang/p/5246447.html