如何使用事件更改状态栏颜色

How to change Status bar color with Event

我知道根据代码更改状态栏颜色。

override var preferredStatusBarStyle : UIStatusBarStyle {
    return .default // or.lightContent
}

但是例如,如果我将此代码与 IBAction 一起使用,如何编写正确的代码?

当您希望更改状态栏的外观时,可以在视图控制器上调用 setNeedsStatusBarAppearanceUpdate。在您的 @IBAction 示例中:

@IBAction func changeStatusBarStyle() -> Void{
    // Do whatever you need to determine and set the next status bar style
    setNeedsStatusBarAppearanceUpdate()
}

请注意,如果您在动画块中调用 setNeedsStatusBarAppearanceUpdate,样式更改将被动画化

设置点击按钮时需要更新状态栏。这样'preferredStatusBarStyle'就会被调用。

setNeedsStatusBarAppearanceUpdate()