iOS 9之前是使用如下代码来设置状态栏的隐藏,修改样式
[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
[[UIApplication sharedApplication]setStatusBarHidden:NO];
但是,iOS 9之后苹果建议使用prefer的API,如下:
//是否隐藏状态栏
-(BOOL)prefersStatusBarHidden
{
return YES;
}
//修改状态栏的样式
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleBlackTranslucent;
}
但是在最后,如果在视图已经展示了的时候,你却又想要修改状态栏,那么就可以在上面的2个方法中添加判断语句,然后再调用上述方法:
-(BOOL)prefersStatusBarHidden
{
if (isWidthBiggerThanHeight==1) {
return NO;
}else
{
return YES;
}
}
最后,切记调用一下方法来刷新状态栏的样式和状态---
//刷新状态栏的状态---
[self setNeedsStatusBarAppearanceUpdate];