【问题标题】:Changing status bar style after viewDidLoad in iOS在 iOS 中 viewDidLoad 后更改状态栏样式
【发布时间】:2016-08-24 16:48:11
【问题描述】:

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

-(UIStatusBarStyle) 首选状态栏样式

改变preferredStatusBarStyle返回的方法。 但事情是这样的:我有一个财产

@property UIStatusBarStyle *customPreferredStatusBarStyle

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

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

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

桥梁被调用后,我有什么办法可以改变我的状态栏样式吗?

【问题讨论】:

    标签: ios objective-c uistatusbar


    【解决方案1】:

    只要打电话:

    Obj-C

    [self setNeedsStatusBarAppearanceUpdate];
    

    斯威夫特

    setNeedsStatusBarAppearanceUpdate()
    

    【讨论】:

    • 所以通过调用这个方法我的-(UIStatusBarStyle) preferredStatusBarStyle 会再次被调用?
    【解决方案2】:

    在您的情况下,我认为您可以致电 setNeedsStatusBarAppearanceUpdate() 来触发状态栏更新。

    【讨论】:

    • 是的,我成功了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2016-01-11
    • 2015-12-16
    • 2013-09-26
    相关资源
    最近更新 更多