1

我在 iOS 7 bt 中发现了很多关于状态栏问题的链接,但没有一个有太大帮助。

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

状态栏与UIViewController以下内容很好地融合在一起: 带有 UIVewController 的状态栏

但是因为UINavigationController它变黑了,如下所示: 带有 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];

我希望在加载 NavigationController 时状态栏采用蓝色。

注意:我使用以下代码支持 iOS7:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000
        self.edgesForExtendedLayout=UIRectEdgeNone;
#endif

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

4

3 回答 3

2

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

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

于 2013-10-17T13:57:42.697 回答
0

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

希望这有帮助:)

于 2013-10-17T15:08:12.133 回答
0

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

IOS7中的状态栏和导航栏问题

和这里

iOS 7 - 状态栏与视图重叠

于 2013-11-07T08:53:58.447 回答