我正在更新iOS7的应用程序(同时仍然支持iOS6),并使用UIStatusBarStyle: UIStatusBarStyleLightContent
更新状态栏以使用白色前景。
然而,UIStatusBarStyleLightContent
值在iOS7中是新的,因此当在iOS6上运行时,UIStatusBarStyle
将恢复为UIStatusBarStyleDefault
,使用浅灰色文本iOS6默认为浅灰色。但是我需要我的iOS6版本才能使用黑色样式UIStatusBarStyleBlackOpaque
状态栏。
鉴于您可以为不同的设备和平台类型设置info.plist设置,例如UIStatusBarStyle~ipad
:
https://developer.apple.com/library/ios/DOCUMENTATION/iPhone/conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html
我知道我可以通过UIApplication
在运行时设置值,但是在启动图像显示之后才会产生影响。
我希望你能为iOS版本使用类似的机制吗? e.g:
UIStatusBarStyle: UIStatusBarStyleBlackOpaque
UIStatusBarStyle~ios7: UIStatusBarStyleLightContent
然而,这不起作用,我无法在这样的功能上找到任何苹果文档。我是不是运气不好,在iOS6应用程序发布期间将不得不忍受丑陋的白色状态栏?
编辑:刚刚在这里找到了类似的问题:iOS - Entry in Info.plist for only iOS 6 and above?
似乎答案是否定的,这是不可能的。除非iOS7有任何更新?
答案 0 :(得分: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
}