在开发中我们有时的需求是设置导航栏和标签栏的颜色,而实际我们如果直接设置背景颜色并不会达到我们预期的效果,设置的颜色只是浅浅的一层颜色,这是因为我们设置的背景色被覆盖了,并没有直接显示给我们。而我们如果效果达到预期的效果则需要调用设置背景图片的方法。
1.设置导航栏(navigationBar)的背景色:
[self.navigationBarsetBackgroundImage:[UIImageimageNamed:@"daohanglan_beijingditu"]forBarMetrics:UIBarMetricsDefault]
还有一设置导航栏背景色的方法:
[self.navigationController.navigationBar setBarTintColor:[UIColor whiteColor]]
2.设置标签栏(tabBar)的背景色:
self.tabBar.backgroundImage = [UIImageimageNamed:@"biaoqianlan_beijingtu"]
几乎在开发每个app中都会使用到 UINavigationController ,然而几乎没人喜欢系统自带的样式,自定义一些 navigation bar 的样式,也变得重要了。本文会从以下几个方面来说明如和自定义 navigation bar 的样式。
系统的 navigation bar 长这样:
我们来看一下 navigation bar 的几个重要模块。
改变 navigation bar 的颜色很容易
translucent 半透明的,看着会有一层毛玻璃效果。
barTintColor 背景色,不是什么 backgroundColor 也不是 tintColor 。
也可以设置一张图当作背景
titleTextAttributes 你可以设置字体颜色等属性
这里是文档
我们甚至可以自己设置 navigationItem.titleView 来改变标题的样式
UIBarButtonItem 可以创建多种类型的按钮,文字、图片、自定义视图,还可以设置它的字体属性。
tintColor 设置后会影响文字或者图片颜色
默认的返回按钮包含一个返回的图片和文字,文字是控制器的标题,没有默认是Back。
给 backBarButtonItem 复值文字类型的 UIBarButtonItem 可以改变返回的文字,复值图片类型的但是不会返回的箭头,然后你的返回按钮就有两个图标。怎么办呢,我们设置一个 navigationItem.leftBarButtonItem 来当作返回按钮,还需要注意的是这时候侧滑返回会失效,需要设置交互手势代理。
自定义样式
隐藏横线
翻译自 https://dmtopolog.com/navigation-bar-customization/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)