iOS7 中的StatusBar和以前版本的相比發生了很大變化,在iOS7下對statusbar的使用須要全新的方法,如今就總結如下statusbar的方法: app
StatusBar有兩種樣式: ide
要改變StatusBar的顯示樣式須要在UIViewController中重載: 動畫
- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
- (void)viewWillAppear:(BOOL)animated { [self setNeedsStatusBarAppearanceUpdate]; }
顯示和隱藏StatusBar只要在UIViewController中重載: spa
- (BOOL)prefersStatusBarHidden { return YES; }
一樣式改變同樣須要調用 [self setNeedsStatusBarAppearanceUpdate] 方法 code
如今有兩種動畫效果:UIStatusBarAnimationFade ,UIStatusBarAnimationSlide.從他們的名字能夠得知他的具體是什麼眼的效果。 實現動畫須要重載: animation
- (UIStatusBarAnimation )preferredStatusBarUpdateAnimation { return UIStatusBarAnimationSlide; }
[UIView animateWithDuration:0.3 animations:^{ [self setNeedsStatusBarAppearanceUpdate]; }];
有一些應用默認就沒有Statusbar如: 產品
這樣的應用很醜,總感受缺點什麼,可是有些產品經理就是喜歡。 it
要實現這種效果,最須要在項目配置plist文件總將Status bar is initially hidden 字段設置爲 YES, 添加View controller-based status bar appearance 字段, 並將值設置爲 NO: io
有一些體統提供的組建,如 發送郵件MFMailComposeViewController,沒法更改Statabar樣式,就是使用它的子類都沒法實現,若是有朋友知道如何實現,必定要告訴小弟, 不勝感激 class