OGeek|极客世界-中国程序员成长平台

标题: 模态视图的 iOS7 状态栏字体颜色 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:32
标题: 模态视图的 iOS7 状态栏字体颜色

我正在尝试将我的一个模态视图中状态栏的字体颜色更改为白色。其他 View 在应用委托(delegate)中设置为白色。

我已尝试在 ViewController 中类似问题的答案中找到以下代码。

 - (UIStatusBarStyle)preferredStatusBarStyle {

    return UIStatusBarStyleLightContent;
}

但这不起作用,因为字体仍然显示为黑色。

iOS 领域的新手,如有任何建议,请提供帮助。



Best Answer-推荐答案


您需要结合使用当前代码,并将 Info.plist 中的 View 基于 Controller 的状态栏外观 键设置为 YES。

不过,这里缺少的一 block 拼图是,您还需要告诉 iOS 您想要更新状态栏:

- (void)setNeedsStatusBarAppearanceUpdate;

它是 UIViewController 上的一个方法。像这样在 viewDidLoad 中调用它:

- (void)viewDidLoad
{
    [self setNeedsStatusBarAppearanceUpdate];
    ...

请注意,它仅适用于 iOS 7,并在 iOS 6 及更低版本上引发异常,因此在我的所有项目中,我都有一个像这样的 #define:

#define kIs7 ([[[UIDevice currentDevice] systemVersion] compare"7.0" options:NSNumericSearch] != NSOrderedAscending)

那么在 iOS 6 及更低版本上不运行仅限 iOS 7 的方法真的很简单:

if (kIs7) [self setNeedsStatusBarAppearanceUpdate];

关于模态视图的 iOS7 状态栏字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21565311/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4