IOS 里面,导航栏是必不可少的一个控件。很多人不知道如何设置导航直到我们想要的效果,这里我把我平时的经验记录下。
1.透明度
[self.navigationBar setTranslucent:YES];
YES是该属性的默认值,导航是透明的并且如果当前视图的subviews的第一个元素是UIscrollview族类,那么默认UIscrollview的内容向下偏移64像素,与scrollview的automaticallyAdjustsScrollViewInsets等效,view起点在屏幕的(0,0)点。这样当我们滑动scrollview的时候,就是将内容滑到导航栏背后,在导航栏的半透明效果下,会呈现模糊效果特别好看。
如果属性值是NO的情况下,导航是不透明的,view的起点是(0,64)。
2.颜色
在IOS7 之后 需要调用
[self.navigationBar setBarTintColor:color]
方法为导航栏着色。
3.导航添加背景图片
[self.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
给导航添加背景图片,UIBarMetricsDefault是导航样式,图片会铺在状态栏和导航栏的底部。
1)如果Translucent属性是YES的状态,那么不论你添加的图片是否有透明图,导航栏都会渲染一个透明度小于1的图片添加给导航栏。
2)如果translucent属性是NO的状态,那么导航栏会从你添加的图片上获取透明度,从而决定导航栏本身是否透明。
4.导航栏下面的线 hairline
self.navigationBar.shadowImage =image
该方法会替换掉导航下面那条线,将它设置成你想要的图片。但是前提是你需要给导航栏添加一张背景图片才会生效。