3

我正在为 iOS7 更新应用程序(同时仍支持 iOS6),并已更新状态栏以使用UIStatusBarStyle: UIStatusBarStyleLightContent.

然而,该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 - 仅适用于 iOS 6 及更高版本的 Info.plist 中的条目?

似乎答案是否定的,这是不可能的。除非iOS7有任何更新?

4

1 回答 1

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 
}
于 2013-09-25T07:06:57.570 回答