美文网首页
关于iOS 9.0中状态栏的设置方法

关于iOS 9.0中状态栏的设置方法

作者: Kingsleeeey | 来源:发表于2017-02-03 10:00 被阅读0次

关于iOS 9.0中状态栏设置方法被取代


setStatusBarStyle.png

以前我们为了能够实时的控制顶部statusbar的样式,可能会在喜欢使用:

但是这么做之前需要将 info.plist 里面加上View controller-based status bar appearance BOOL值设为NO,就是把控制器控制状态栏的权限给禁了,用UIApplication来控制。但是这种做法在iOS9不建议使用了,建议我们使用吧那个BOOL值设为YES,然后用控制器的方法来管理状态栏比如:

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

首先在info.plist文件中,

View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。

为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。

调用

[[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];
需要先在info.plist设置View controller-based status bar appearance项设为No 不设置默认View controller对status bar的设置优先级高于application的设置 所以上面代码会无效
警告设置.png

之前的设置方法已然要报警告

消除警告设置方法:

1. "View controller-based status bar appearance" 设置为YES, 然后
- (BOOL)prefersStatusBarHidden {
    return YES;
}
2. "View controller-based status bar appearance" 设置为NO, 在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 里面加上
UIApplication *app = [UIApplication sharedApplication];  
app.statusBarStyle = UIStatusBarStyleLightContent;  

警告消除。

相关文章

网友评论

      本文标题:关于iOS 9.0中状态栏的设置方法

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