2017-09-16 199 views
1

我以前使用的是[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];,它工作正常,但在iOS 9.0中不推薦使用。iPhone 5/SE顯示白色狀態欄,iPhone 6/7顯示黑色狀態欄

在此之後:
UIApplication.sharedApplication().setStatusBarStyle() deprecated in iOS 9

在「部署信息」下的項目設置

我選擇了「光」作爲「狀態欄樣式」。 檢查我的Info.plist文件,我也將「基於視圖控制器的狀態欄外觀」設置爲NO。

現在「小」iPhone 5S/SE將正確顯示一個白色的狀態欄,但iPhone 6(+)/ 7(+)將顯示一個黑色的狀態欄。

我該如何解決這個問題?

[解決]

其實,這個發現後:Status Bar showing black text, only on iPhone 6 iOS 8 simulator

我能做得出來。我不得不爲非工作的iPhone模型啓動圖像,或者我現在做的,使用啓動故事板。現在一切都是白色的狀態欄。

回答

1

我認爲你必須去你的項目的常規設置,並設置狀態欄式輕,比去信息Info.plist文件,並設置「查看基於控制器的狀態欄外觀」設置爲NO。如果它不起作用,你必須像這樣在ViewControllers中創建UIStatusbar的對象。

override var preferredStatusBarStyle: UIStatusBarStyle { 
     return .lightContent 
    } 

呼叫preferredStatusBarStyle在視圖中加載。

1

對於Swift。

override var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 

對於目標C

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
} 

使用的Xcode

1.Go到項目 ==>目標

2.Set Status Bar Style to Light

3.設定基於控制器的視圖狀態欄外觀等於NO的Info.plist