在iOS 7之前可以直接通过UIApplication对象来直接操作状态栏
[[UIApplication sharedApplication
] setStatusBarStyle
:style
];
[[UIApplication sharedApplication
] setStatusBarHidden
:YES
];
但是在iOS 7之后,系统将状态栏交给Controller来管理,需要在Controller中实现以下方法来控制状态栏
- (UIStatusBarStyle
)preferredStatusBarStyle
{
return UIStatusBarStyleDefault
;
}
- (BOOL
)prefersStatusBarHidden
{
return YES
;
}
但是通过Controller来管理状态栏毕竟不是很方便,不像通过UIApplication来管理更加自由不受约束,所以要想继续使用UIApplication来管理状态栏只要在info.plist中添加一个字段View controller-based status bar appearance并设置成NO即可。