我的导航栏颜色在 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 之外,它不会搞砸任何东西。
去掉[self.navigationController.navigationBar setTranslucent:YES];它应该工作正常。
如果需要,您可以检查设备型号
(看这里:使用 iPhone SDK 确定设备(iPhone、iPod Touch) https://stackoverflow.com/questions/448162/determine-device-iphone-ipod-touch-with-iphone-sdk)
并相应地调整视图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)