4

我的导航栏颜色在 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 之外,它并没有搞砸任何东西。

4

1 回答 1

4

摆脱 [self.navigationController.navigationBar setTranslucent:YES]; 它应该可以正常工作。

如果需要,您可以检查设备型号(请参阅此处:使用 iPhone SDK 确定设备(iPhone、iPod Touch)

并相应地调整视图。

于 2013-09-29T23:38:25.047 回答