iOS 状态栏的隐藏/显示 黑色/白色
2017-03-02 本文已影响2081人
Sparkle_S
新建工程,状态栏默认竖屏显示,横屏隐藏,字体黑色。
-
未修改Info.plist情况下,状态栏默认由控制器管理,在对应的视图类中重写该父类方法
需求:状态栏横竖屏都显示/状态栏隐藏
-(BOOL)prefersStatusBarHidden{
[super prefersStatusBarHidden];
return YES; //状态栏隐藏 NO显示
}
需求:指定状态栏颜色
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent; //状态栏字体白色 UIStatusBarStyleDefault黑色
}
-
Info.plist中设置View controller-based status bar appearance为NO的情况下,以上方法失效。状态栏由[UIApplication sharedApplication]来决定,对应地方添加以下
设置View controller-based status bar appearance为NO.png
需求:状态栏横竖屏都显示/状态栏隐藏
[UIApplication sharedApplication].statusBarHidden = YES; //状态栏隐藏 NO显示
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; //状态栏隐藏 NO显示 同时可指定隐藏显示的动画
需求:修改状态栏颜色
[UIApplication sharedApplication].statusBarStyle = ![UIApplication sharedApplication].statusBarStyle; //UIStatusBarStyleLightContent状态栏字体白色 UIStatusBarStyleDefault黑色
[[UIApplication sharedApplication]setStatusBarStyle:![UIApplication sharedApplication].statusBarStyle animated:YES]; //UIStatusBarStyleLightContent状态栏字体白色 UIStatusBarStyleDefault黑色 同时可指定变换动画
注意:View controller-based status bar appearance-NO一但添加,通过重写父类方法来控制状态栏的地方都会失效,反过来也是。
期待你的评论建议O(∩_∩)O~