2013-09-25 48 views
3

我正在更新iOS7應用程序(同時仍支持iOS6),並更新狀態欄以使用UIStatusBarStyle: UIStatusBarStyleLightContent使用白色前景。iOS版本特定info.plist設置

然而UIStatusBarStyleLightContent值iOS7是新的,所以當在iOS6的運行UIStatusBarStyle恢復到UIStatusBarStyleDefault,給人的淺灰色與黑色文本iOS6的默認。但我需要我的iOS6版本才能使用黑色風格UIStatusBarStyleBlackOpaque狀態欄。

由於您可以爲不同的設備和平臺類型設置info.plist設置,例如, UIStatusBarStyle~ipadhttps://developer.apple.com/library/ios/DOCUMENTATION/iPhone/conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

我知道我可以通過UIApplication在運行時設置的值,但是這並沒有直到開機畫面顯示有後的影響。

我希望你可以使用類似的機制的iOS版本?例如:

UIStatusBarStyle: UIStatusBarStyleBlackOpaque 
UIStatusBarStyle~ios7: UIStatusBarStyleLightContent 

但是,這不起作用,我無法找到這樣的功能任何地方的任何蘋果文檔。我運氣不好,在iOS6應用程序啓動期間,我將不得不忍受醜陋的白色狀態欄?

編輯:剛剛發現了類似的問題在這裏:iOS - Entry in Info.plist for only iOS 6 and above?

好像答案是否定的,這是不可能的。除非iOS7有任何更新?

+0

你實現你的編輯給出了一個鏈接回到這個同樣的問題?我想你重新找到你自己的問題! – mattjgalloway

+0

@mattjgalloway haha​​ha,哎呀。必須複製錯誤的鏈接。固定。 – Tyson

回答

0

用這個,因爲我想是這樣,這將是對您有所幫助,

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { 
    // Load resources for iOS 6.1 or earlier, i.e set status bar here for previous versions 
} else { 
    // Load resources for iOS 7 or later, set status bar here for ios 7 
} 
+0

謝謝,但我知道我可以在運行時更新它(而且我已經在實際上做到了這一點)。問題是,這並沒有影響,直到應用程序啓動後,並顯示飛濺圖像後。這會導致它從info.plist中的設置更改爲運行時的設置。我的問題是關於iOS特定的'info.plist'設置。 – Tyson

+0

如果您在啓動時(隱藏狀態欄出現時)隱藏狀態欄,將info.plist中的「狀態欄最初隱藏」設置爲YES,然後在運行時更新狀態欄會更好,因爲沒有任何字段在info.plist中執行您指定的問題 –

相關問題