iOS狀態列(UIStatusBar)的設定

來源:互聯網
上載者:User

標籤:

 
UIStatusBar就是應用最上方顯示電池和時間資訊的狀態列,寬度與螢幕寬度相等,高度為20.對它的顯示控制分兩種情況,一種是程式啟動時,另一種是程式啟動並執行時候。

1.程式啟動時。

  • 在Info.plist 中將Status bar is initially hidden(UIStatusBarHidden)對應的Value設定為Yes,程式啟動時會隱藏,反之會顯示。如果要更改它的字型顏色,在Info中將Status bar style(UIStatusBarStyle)對應的Value設定為你想要的類型(UIStatusBarStyeLightContent。)。

2.程式運行時

  • 同樣是分兩種情況,稱它為效果A和B吧,A是你所有視圖控制器的狀態列的顯示與否都是可以控制的,但樣式是不可控制的(所有視圖控制器的狀態列都是一個樣式)。B是你可以控制每個狀態列的顯示和樣式。在info.plist檔案中添加一個key值:View controller-based status bar appearance,這個key的意思就是是否讓每個控制器單獨控制自己的狀態列。
  • 如果想要A效果效果,將View controller-based status bar appearance值設定為NO,然後在視圖控制器中加入如下代碼來控制顯示與否。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

  • 實現B效果需要將View controller-based status bar appearance值設定為YES,然後在需要控制狀態列顯示的視圖控制器中重寫如下方法:

    //是否顯示狀態列
    -(BOOL)prefersStatusBarHidden{
        return NO;
    }
    //狀態列的樣式
    -(UIStatusBarStyle)preferredStatusBarStyle{
        return UIStatusBarStyleLightContent;
       
    }

題外話:如果你的視圖控制器包含一個UINavigationBar,當你選擇隱藏狀態列時,UINavigationBar會顯示不正常,高度由64變為44,這個問題的解決辦法稍後會更新。

iOS狀態列(UIStatusBar)的設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.