IOS 导航栏的设置

被刻印的时光 ゝ 提交于 2021-02-16 10:20:40

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


该方法会替换掉导航下面那条线,将它设置成你想要的图片。但是前提是你需要给导航栏添加一张背景图片才会生效



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!