美文网首页
2020-06-10

2020-06-10

作者: RainGo | 来源:发表于2020-06-10 10:32 被阅读0次

    问题:今天我再UITabBarController中切换控制器的时候,发现未能在控制器2中改变状态栏主题色。
    原因:我在控制器1中的viewwilldisappear方法中设置状态栏主题黑色,在控制器2中的viewwillappear方法中设置状态栏主题白色,主要问题在于2个控制器生命周期执行顺序与我所想不同。
    解决办法:先记录下生命周期的执行顺序再说。

    -[ViewController1 viewDidLoad]             - 视图控制器1 加载完成
    -[ViewController1 viewWillAppear:]        - 视图控制器1即将显示
    -[ViewController1 viewDidAppear:]         - 视图控制器1已经显示
    -[ViewController2 viewDidLoad]              - 视图控制器2 加载完成
    -[ViewController2 viewWillAppear:]         - 视图控制器2即将显示
    -[ViewController1 viewWillDisappear:]    - 视图控制器1 即将消失
    -[ViewController1 viewDidDisappear:]    -视图控制器1 已经消失
    -[ViewController2 viewDidAppear:]         - 视图控制器2 已经显示 
    

    以上说明要在控制器2中的viewDidAppear方法中设置状态栏主题才管用。
    如果做法有误,欢迎指正!

    相关文章

      网友评论

          本文标题:2020-06-10

          本文链接:https://www.haomeiwen.com/subject/ebsutktx.html