刚刚下载了新的xCode 10.0,并看到旧的statusBarStyle从iOS 9.0起就被废弃了。
警告: Setter for 'statusBarStyle' was deprecated in iOS 9.0: Use -[UIViewController preferredStatusBarStyle]
废弃代码: UIApplication.shared.statusBarStyle = .default
我试过使用self.preferredStatusBarStyle,但发现这个属性只是一个getter。所以任何人都知道如何设置statusBarStyle
从Swift 3/ preferredStatusBarStyle 10开始,preferredStatusBarStyle和prefersStatusBarHidden等方法变成:
@available(iOS 7.0, *)
open var preferredStatusBarStyle: UIStatusBarStyle { get }
@available(iOS 7.0, *)
open var prefersStatusBarHidden: Bool { get }
因此,用于重写方法的现有代码不再生成。如果这些属性是只读的,那么如何给它们赋值/
我已经在我的应用程序中有一个明暗主题。我也支持iOS 13暗模式,但问题是,即使选择了应用程序的亮模式或暗模式,更改iOS主题也会导致更改状态栏颜色,所以当ios暗模式打开时,状态栏在我的应用程序的亮主题中是不可见的。我试图通过这段代码来防止它,但它在我的情况下不起作用: override var preferredStatusBarStyle: UIStatusBarStyle {
switch Appearance.theme {
case .dark:
return .lightContent
case .light:
if #a
我一直在尝试将应用程序的状态栏颜色设置为只有一个视图。 我已经尝试了这里列出的解决方案..‘How to change Status Bar text color in iOS’,但它为整个应用程序设置了它。 我想要的是状态栏的颜色,以便在SceneDelegate.swift中为rootViewController设置白色文本,然后为所有其他视图默认设置(从白色更改为黑色,取决于深色模式)。 有什么想法吗?
(iOS 7 Xcode 5.0.2)
我使用了以下方法,成功地将状态栏颜色更改为root视图控制器上的白色。
[self setNeedsStatusBarAppearanceUpdate]; // Update status bar style
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent; // Set status bar color to white
}
现在我正在尝试将状态栏颜色更改为黑色,当导航到子视图控制器时,我不知道如何做。(状态栏颜色仍然是白色的)