gpt4 book ai didi

ios - 如果部署目标低于 iOS 7,状态栏样式的轻内容?

转载 作者:行者123 更新时间:2023-11-28 22:18:48 25 4
gpt4 key购买 nike

不幸的是,在我正在开发的应用程序中,我必须使用 iOS 6 作为我的部署目标(iOS 7 是我的基础 SDK)。有什么方法可以让我拥有 UIStatusBar 风格的 Light Content?即使它只适用于 iOS 7 用户。

最佳答案

这是 UIStatusBarStyle 的枚举:

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,
};

从这里我们可以看出 UIStatusBarStyleLightContentUIStatusBarStyleBlackTranslucent 的值相同,因此如果使用其中任何一个,它们将是 iOS 6 和 7 上的相应行为。

如果您愿意,可以使用代码检测 iOS 版本并在两者之间选择不同的值,以防您希望在 iOS 7 上使用浅色内容样式,但在 iOS 6 上使用黑色不透明或默认设置。

此外,现在您可以将一个名为 UIViewControllerBasedStatusBarAppearance 的属性添加到 Info.plist 中,这样它将使用 - ( UIStatusBarStyle)preferredStatusBarStyle 方法。所以你只需在你的 UIViewController 子类中用你想要的样式在那个特定的地方覆盖那个方法。

关于ios - 如果部署目标低于 iOS 7,状态栏样式的轻内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20960338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com