在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即可。