我的导航栏颜色在 iOS 7 中正常显示
部署 iOS 6.0,但如果系统版本是 iOS 7.0 或更高版本,在 iPhone 4 上某些导航栏颜色无法正常显示。在 iPhone 5 上可以正常工作。
这是我的做法:
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
self.edgesForExtendedLayout = UIRectEdgeNone;
[self.navigationController.navigationBar setBarTintColor:[UIColor blueColor]];
[self.navigationController.navigationBar setTranslucent:YES];
}
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
也许最后一行是问题(setTranslucent),因为我听说 iPhone 4 在半透明方面存在一些问题,但我很确定您也可以在 iOS 6 中将导航栏设置为半透明。接下来将尝试摆脱它并在它修复任何内容时进行更新。
编辑:在我关闭呈现的视图控制器后,条形颜色似乎消失了。但除了 iPhone 4 之外,它并没有搞砸任何东西。