我的导航栏颜色在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之外,它不会出现其他问题。