作者: 舍得333 主页:http://blog.csdn.net/cococoolwhj/article/details/8208991
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明,否则将追究法律责任。
我使用的基于ios5的故事板
方法1:
一般写在程序入口AppDlegate里面
UIImage *bgImage = [UIImage imageNamed:@"navi_bar_bg"];
[[UINavigationBar appearance] setBackgroundImage:bgImage
forBarMetrics:UIBarMetricsDefault];
但是,状态栏也会收到影响
方法2:继承UINavigationBar,自定义一个bar
由于我的UINavigationViewController 是从故事板加载的,所以代码写在initWithCoder里面
再故事板找到UINavigationViewController 的UINavigationBar,更改它的类为自定义类。
代码如下:
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
[self setTranslucent:NO];//这样状态栏就不会受到影响。原因不明。
UIImage *bgImage = [UIImage imageNamed:@"navi_bar_bg"];
[self setBackgroundImage:bgImage forBarMetrics:UIBarMetricsDefault];
}
return self;
}
转载于:https://my.oschina.net/u/1427407/blog/190195