iOS - 手机横屏后状态栏不显示问题

在做一个页面横屏的操作后,发现状态栏不显示了
上网查了查原因:iOS系统(好像是iOS8之后)在视图横屏的时候默认把状态栏隐藏掉了,之后查了一些方法,
总结如下:

1.在info.plist文件中,添加View controller-based status bar appearance,属性为bool,设为NO;

2.在需要显示的ViewController中设置[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

3.在需要隐藏的ViewController中设置[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];

上面的隐藏/显示状态栏的方法,在iOS9之后被弃用了,之后采用如下的方法进行设置:

 //设置样式  
- (UIStatusBarStyle)preferredStatusBarStyle {  
return UIStatusBarStyleLightContent;  
}  
//设置是否隐藏  
- (BOOL)prefersStatusBarHidden {  
//    [super prefersStatusBarHidden];  
return NO;  
}  
//设置隐藏动画  
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation {  
return UIStatusBarAnimationNone;  
} 

注意:以上三个方法,只需要在需要设置的viewController重写即可!
需要注意的是,使用这个"新"的方法进行设置的时候,需要将View controller-based status bar appearance设置为YES,才会有效果.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容