美文网首页我爱编程
设置iOS status bar的风格

设置iOS status bar的风格

作者: r_lin | 来源:发表于2015-10-28 23:53 被阅读199次

    从iOS7开始,状态栏(status bar)的风格有两种:明亮(light)和暗黑(dark),可以使用UIStatusBarStyle常量指定其中一个风格。状态栏默认是dark风格,也就是说时间、电池、Wi-Fi等标志都显示为黑色的。

    当你想把默认的暗黑风格改为明亮风格时,可以在想改变风格的view controller中重写preferredStatusBarStyle:方法:

    - (UIStatusBarStyle)preferredStatusBarStyle 
    { 
        return UIStatusBarStyleLightContent; 
    }
    

    也可以通过重写prefersStatusBarHidden:方法隐藏状态栏:

    - (BOOL)prefersStatusBarHidden
    {
        return YES;
    }
    

    以上方法只能对单个view controller生效。如果想要全局生效,需要如下操作:
    在Info中添加Key:“View controller-based status bar appearance”,把Value设为NO
    <img src="https://img.haomeiwen.com/i402200/061a8559b8290deb.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" >
    然后在AppDelegate.m的didFinishLaunchingWithOptions方法中加入代码

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

    这样,在全局中状态栏都为明亮风格。也可以在同一个位置加入以下代码使状态栏全局隐藏

    [[UIApplication sharedApplication] setStatusBarHidden:YES];
    

    也可以只修改Info,不写一行代码而全局改变状态栏的风格。这种情况下以真机为准,模拟器可能不响应更改:

    1. 在Info中添加Key:“View controller-based status bar appearance”,把Value设为NO
    2. 在Info中添加Key:“Status bar style”,把Value设为“Gray style (default)”或者“UIStatusBarStyleLightContent”

    相关文章

      网友评论

        本文标题:设置iOS status bar的风格

        本文链接:https://www.haomeiwen.com/subject/nmaxhttx.html