iOS7 StatusBar 使用小結

來源:互聯網
上載者:User

標籤:

  • 1. 樣式
  • 2. 顯示和隱藏
  • 3. 動畫效果
  • 4. 預設無StatusBar
  • 其他

 

iOS7 中的StatusBar和之前版本的相比發生了很大變化,在iOS7下對statusbar的使用需要全新的方法,現在就總結以下statusbar的方法:

  • 樣式
  • 顯示和隱藏
  • 動畫效果
  • 預設無StatusBar
1. 樣式

StatusBar有兩種樣式:

 

  •  UIStatusBarStyleDefault :

 

  • UIStatusBarStyleLightContent

 

要改變StatusBar的顯示樣式需要在UIViewController中重載:

 

?
1234 - (UIStatusBarStyle)preferredStatusBarStyle{    return UIStatusBarStyleLightContent;}



這個方法不能直接調用,在需要改變樣式的地方調用:[self setNeedsStatusBarAppearanceUpdate]

樣本:

 

?
1234 - (void)viewWillAppear:(BOOL)animated{    [self setNeedsStatusBarAppearanceUpdate];}



2. 顯示和隱藏

顯示和隱藏StatusBar只要在UIViewController中重載:

 

?
1234 - (BOOL)prefersStatusBarHidden{    return YES;}



同樣式改變一樣需要調用 [self setNeedsStatusBarAppearanceUpdate] 方法

3. 動畫效果

現在有兩種動畫效果:UIStatusBarAnimationFade ,UIStatusBarAnimationSlide.從他們的名字可以得知他的具體是什麼眼的效果。 實現動畫需要重載:

?
1234 - (UIStatusBarAnimation )preferredStatusBarUpdateAnimation{    return UIStatusBarAnimationSlide;}



但是重載這個方法後,並沒有動畫效果。這時,我們需要把 [self setNeedsStatusBarAppearanceUpdate] 放在動畫block中執行:

 

?
1234 [UIView animateWithDuration:0.3                 animations:^{                    [self setNeedsStatusBarAppearanceUpdate];}];



這樣動畫效果就出現了。

4. 預設無StatusBar

有一些應用預設就沒有Statusbar如:

 

這樣的應用很醜,總感覺缺點什麼,但是有些產品經理就是喜歡。

要實現這種效果,最需要在項目配置plist檔案總將Status bar is initially hidden 欄位設定為 YES, 添加View controller-based status bar appearance 欄位, 並將值設定為 NO:

其他

有一些體統提供的組建,如 發送郵件MFMailComposeViewController,無法更改Statabar樣式,就是使用它的子類都無法實現,如果有朋友知道如何?,一定要告訴小弟, 不勝感激

iOS7 StatusBar 使用小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.