iOS - 更改NavigationBar背景图片 - 图片水平重复问题

当使用函数

- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics

给导航条设置背景图片时,如果传入的图片不通过处理,会导致在6和6s里出现图片水平方向重复的问题(图片本身宽度不够的情况下)

 

解决方法:对传入的图片进行处理,使用UIImage的函数

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode

 

样例:

UIImage *bgImage = [[UIImage imageNamed:@"bg_header"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch];
[[UINavigationBar appearance] setBackgroundImage:bgImage forBarMetrics:UIBarMetricsDefault];

 

参考: http://stackoverflow.com/questions/26052454/ios-8-navigationbar-backgroundimage

posted @ 2015-12-30 17:57  Mr.k2  阅读(2525)  评论(0编辑  收藏  举报