在需要动态显示隐藏的controller中添加成员变量
{
BOOL hidenStatusBar;
}
//触发改变
self->hidenStatusBar = !self->hidenStatusBar
[self setNeedsStatusBarAppearanceUpdate];
#pragma mark StatusBarHidden
- (BOOL)prefersStatusBarHidden{
return hidenStatusBar;
}
注意
View controller-based status bar appearance 不能设置成NO
在tableview或者collection中执行setNeedsStatusBarAppearanceUpdate会执行一些viewdidlayout这些方法, 如果里面写了代码, 需要注意!