我正在研究ios8应用程序。当我启动应用程序时,状态栏在变为正常之前会暂时保持黑色状态。我已经添加了 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque animated:NO]; 在webViewDidFinishLoad中。我有 UIStatusBarStyle UIStatusBarStyleBlackOpaque 在我的plist文件中。我想在应用程序启动时将正常状态栏置于顶部。 这仅在iOS8上发生。 有人可以帮我这个吗?
答案 0 :(得分:0)
UIStatusBarStyleBlackOpaque
已被弃用,并且从枚举设置的方式来看,看起来它可能具有UIKit不知道如何处理的值:
typedef NS_ENUM(NSInteger, UIStatusBarStyle) {
UIStatusBarStyleDefault = 0, // Dark content, for use on light backgrounds
UIStatusBarStyleLightContent NS_ENUM_AVAILABLE_IOS(7_0) = 1, // Light content, for use on dark backgrounds
UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 1,
UIStatusBarStyleBlackOpaque NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2,
};
请注意…Opaque
的值为2,与任何指定的样式都不对应。我建议将Info.plist中的样式值切换为UIStatusBarStyleLightContent。 -webViewDidFinishLoad:
也是一个设置样式的奇怪地方 - 将它放在-applicationDidFinishLaunching:
或类似内容中更合适。