你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS6和iOS7代碼的適配(2)——status bar

iOS6和iOS7代碼的適配(2)——status bar

編輯:IOS開發綜合

用Xcode5運行一下應用,第一個看到的就是status bar的變化。在iOS6中,status bar是系統在處理,應用中不需要考慮這部分,iOS7之後是應用在處理,每個ViewController都可以控制status bar。

iOS7裡面的status bar是透明的,會把下面的內容一起顯示出來,比如我的應用色調是深色調,希望status bar上的圖標是淺色的。那麼我需要做兩步:

1. 在info.plist中設置View controller-based status bar appearance為NO

2. 在AppDelegate.m文件中,didFinishLaunchingWithOptions方法裡面增加

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    [[UIApplication sharedApplication] setStatusBarHidden:NO];

這樣,應用中status bar就統一改成了淺色的風格。


如果你的應用有些viewController中status bar需要特殊設置,那麼就需要在相應的viewController中處理,這就需要重寫兩個API,preferredStatusBarStyle和prefersStatusBarHidden。

-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

- (BOOL)prefersStatusBarHidden
{
    return YES;
}
然後在需要刷新狀態欄樣式的時候,調用[self setNeedsStatusBarAppearanceUpdate]方法實現刷新。

從iOS7來說,status bar是浮動在上層的,這樣如果window本身下移20個pixel,那麼也可以完美的顯示。這個方法在理論上應該成立,我努力嘗試過,但沒有成功,如果有成功的大大請告訴我應該怎麼做。


  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved