iOS viewDidLoad 后更改状态栏样式

Changing status bar style after viewDidLoad in iOS

所以我知道在我的 ViewController.m 中我可以覆盖我的

-(UIStatusBarStyle) preferredStatusBarStyle

更改 preferredStatusBarStyle 的 return 的方法。 但事情是这样的:我有一个 属性

@property UIStatusBarStyle *customPreferredStatusBarStyle

我正在更改此桥接块中 customPreferredStatusBarStyle 的值:

[_bridge registerHandler:@"setStatusBarHandler_iOS" handler:^(id data, WVJBResponseCallback responseCallback) {
_customPreferredStatusBarStyle = UIStatusBarStyleDefault;
}]

这意味着如果网站调用桥接器,我将更改它的值。但是我发现 **-(UIStatusBarStyle) preferredStatusBarStyle** 方法只在 ViewController 启动时被调用一次。

有什么方法可以让我在桥被调用后更改我的状态栏样式吗?

在你的情况下,我认为你可以调用 setNeedsStatusBarAppearanceUpdate() 来触发对状态栏更新的更新。

只需拨打:

Obj-C

[self setNeedsStatusBarAppearanceUpdate];

Swift

setNeedsStatusBarAppearanceUpdate()