iOS 8改变了仅考虑iPhone和iPad尺寸以及纵向和横向的概念,因此设置导航栏背景图片不再起作用。目前我正在使用以下代码:
UIImage *NavigationPortraitBackground = [[UIImage imageNamed:@"nav-image-portrait"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
UIImage *NavigationLandscapeBackground = [[UIImage imageNamed:@"nav-image-landscape"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UINavigationBar appearance] setBackgroundImage:NavigationPortraitBackground forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:NavigationLandscapeBackground forBarMetrics:UIBarMetricsCompact];
从iOS 8开始,条形指标部分已被弃用。当我的应用在iPhone 6或6 Plus上运行时,它只是水平重复条形图像。我研究了图片切片,但我认为那也不是解决方案。