ios - UINavigationBar添加背景图片的几种简单思路

神来芒果 2020-10-30

栏目: ios ·

来源: 神来芒果

作者:神来芒果

简介  这篇文章主要介绍了ios - UINavigationBar添加背景图片的几种简单思路以及相关的经验技巧,文章约1123字,浏览量172,点赞数3,值得参考!

UITabBarController下面常常需要为多个ViewController设置导航栏样式,总结了一下遇到过的为UINavigationBar添加背景图片的几种简单思路
以设置背景图片为例:
第一种,直接在视图里面单独设置每个视图的UINavigationBar,适合每个页面需要不同的导航栏样式。
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];
第二种:为各个页面建立一个共同的BaseNavigationController,设置好背景图片。其他视图控制器将它继承下来,这也可以达到一个整体设置效果。
[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];
第三种,在TabBarController里面写一个方法,通过遍历所有视图的导航栏来设置。记得调用这个方法
- (void) createNavigationBar
{//遍历所有视图的导航栏
for (UINavigationController *navi in self.viewControllers)
{
[navi.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];
}
} 第四种:直接更改UINavigationBar的默认样式,这种方式和前一种的区别在于前者只是改变五个视图的导航栏,而后者是作用在UINavigationBar上。
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];

以上就是本文的全部内容,希望对大家的学习有所帮助,本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/8806642.html

相关文章

如何防止黑色背景出现在我的UINavigationBar中?

UINavigationBar(示例代码)

带有纯色的UINavigationBar - ios 7

IOS 去掉导航栏(UINavigationBar)下方的横线

【转】UINavigationBar 使用总结(示例代码)

iOS-更改UINavigationBar样式+更改返回ButtonItem文字(示例代码)

在iOS 11中忽略设置UINavigationBar外观(示例代码)

iOS隐藏导航栏底部的线条& UINavigationBar小技巧