1.ios中設置狀態欄的樣式由 最頂層的UIWindow所在的控制器控制處理。
2.ios9之前可以不用設置window的根控制器,ios9必須設置根控制器。
3.ios9後設置狀態欄的樣式(隱藏)時,在最頂層的UIWindow所在的控制器中通過下面兩個方法處理
- (UIStatusBarStyle)preferredStatusBarStyle { //設置樣式
returnUIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden { //設置隱藏顯示
return NO;
}
[[UIApplication sharedApplication] setStatusBarHidden:<#(BOOL)#>];
[[UIApplication sharedApplication] setStatusBarStyle:<#(UIStatusBarStyle)#>];設置不太好使。
例如:設置兩個Window,通過在最頂層的window中的控制器中設置狀態欄樣式更改轉態欄
Demo地址 https://github.com/shn19891109/IOS9UIWindow