iOS

当使用函数

- (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

原文地址:https://www.cnblogs.com/staRR-k2/p/5089638.html