我在iOS 7中找到了很多状态栏问题的链接,但这些链接都没有多大帮助。
问题是我的应用程序在iOS6中运行良好但是当我尝试在iOS7上运行它时,我想要iOS7的外观。
状态栏与下面的UIViewController
非常吻合:
但对于UINavigationController
,它会变成黑色,如下所示:
我设法使用AppDelegate中的以下代码更改statusBar的文本颜色:
if ([[UIView appearance] respondsToSelector:@selector(setTintColor:)]) {
[[UIView appearance] setTintColor:[UIColor whiteColor]];
}
另外,我的plist文件有以下条目:
View controller-based status bar appearance
设置为NO
我的AppDelegate有:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
我希望statusBar在加载NavigationController时采用蓝色。
注意:我使用以下代码来支持iOS7:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000
self.edgesForExtendedLayout=UIRectEdgeNone;
#endif
不知道这是否导致了这个问题。
答案 0 :(得分:2)
很难找到问题的解决方案,但尝试使用本指南,真的很好:
http://www.appcoda.com/customize-navigation-status-bar-ios-7/
答案 1 :(得分:0)
如果使用不同的图像,它可以正常工作。一个用于iOS7(高出20px),另一个用于其他用户,并将此图像设置为导航栏的背景。
希望这有帮助:)
答案 2 :(得分:0)