首页 文章

状态栏文本颜色iOS 7 [重复]

提问于
浏览
60

这个问题在这里已有答案:

我无法更改iOS 7 SDK状态栏中的文本颜色 . 目前它的黑色,我希望它在故事板中为我的所有视图控制器都是白色的 .

我在StackOverflow上看到的问题很少,如THISTHISTHIS,但它们没有多大帮助 . 也可能是因为我无法在plist文件中找到UIViewControllerBasedStatusBarAppearance为YES .

任何人都可以告诉我将故事板中所有视图控制器的状态栏文本颜色设置为白色的正确方法吗?提前致谢!

4 回答

  • 199

    在plist中将 UIViewControllerBasedStatusBarAppearance 设置为YES

    viewDidLoad 做一个 [self setNeedsStatusBarAppearanceUpdate];

    添加以下方法:

    -(UIStatusBarStyle)preferredStatusBarStyle{ 
        return UIStatusBarStyleLightContent; 
    }
    
  • 24

    让我给你一个完整的答案 . 更改状态栏文本颜色非常容易,但在iOS 7中专门针对新手来说有点混乱 .

    如果你试图通过选择视图控制器并转到右侧的模拟指标,在StoryBoard中将颜色从黑色更改为白色,它将无法工作,我不知道为什么 . 它应该通过这样改变,但任何方式 .

    其次,您不会在plist中找到UIViewControllerBasedStatusBarAppearance属性,但默认情况下它不在那里 . 您必须通过单击按钮自己添加它,然后将其设置为NO .

    ios 7 status bar text color

    最后,您必须转到AppDelegate.m文件并在didFinishLaunchingWithOptions方法中添加以下内容,添加以下行:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

    这会将所有视图控制器的颜色更改为白色 . 希望这可以帮助!

  • 16

    如果您正在寻找 UIViewControllerBasedStatusBarAppearance ,则需要单击将鼠标悬停在plist文件中的根元素上时出现的小加号 .

    plist file

    执行此操作后,将出现一个新行 - 从下拉列表中选择"View controller-based status bar appearance"并将 NO 设置为其值 . (该友好名称在内部声明为 UIViewControllerBasedStatusBarAppearance

    接下来,在应用程序委托中调用以下方法应将所有视图控制器的状态栏颜色设置为白色:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    
  • 42

    默认为 YES ,所以你不会看到它 . 你需要添加

    UIViewControllerBasedStatusBarAppearance
    

    你的plist并将它设置为 NO .

    然后你可以打电话

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

相关问题