iOS7状态栏问题

时间:2013-10-17 13:54:42

标签: iphone ios ipad ios7 statusbar

我在iOS 7中找到了很多状态栏问题的链接,但这些链接都没有多大帮助。

问题是我的应用程序在iOS6中运行良好但是当我尝试在iOS7上运行它时,我想要iOS7的外观。

状态栏与下面的UIViewController非常吻合:  statusBar with UIVewController

但对于UINavigationController,它会变成黑色,如下所示: statusBar with 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

不知道这是否导致了这个问题。

3 个答案:

答案 0 :(得分:2)

很难找到问题的解决方案,但尝试使用本指南,真的很好:

http://www.appcoda.com/customize-navigation-status-bar-ios-7/

答案 1 :(得分:0)

如果使用不同的图像,它可以正常工作。一个用于iOS7(高出20px),另一个用于其他用户,并将此图像设置为导航栏的背景。

希望这有帮助:)

答案 2 :(得分:0)

这里有一个很好的解释答案。

Status bar and navigation bar issue in IOS7

在这里

iOS 7 - Status bar overlaps the view