美文网首页
新的UIViewController调用时序

新的UIViewController调用时序

作者: 被吹落的风 | 来源:发表于2017-11-09 10:28 被阅读15次

我们拿从“rootVC” push 到 “pushVC”控制台输出的调用时序以及对应控制器的view的safeAreaInsets的变化

  • loadView()---Optional("pushVC")
    ---UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)
  • viewDidLoad()---Optional("pushVC")
    ---UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)
  • willMove(toParentViewController:)---Optional("pushVC")
    ---UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)
  • viewWillDisappear---Optional("rootVC")
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • viewWillAppear---Optional("pushVC")
    ---UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)
  • viewSafeAreaInsetsDidChange()---Optional("pushVC")
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • viewWillLayoutSubviews()---Optional("pushVC")(视图布局改变时调用)
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • viewDidLayoutSubviews()---Optional("pushVC")(视图布局改变时调用)
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • viewWillLayoutSubviews()---Optional("pushVC")
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • viewDidLayoutSubviews()---Optional("pushVC")
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • viewDidAppear---Optional("pushVC")
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • viewDidDisappear---Optional("rootVC")
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)
  • didMove(toParentViewController:)---Optional("pushVC")
    ---UIEdgeInsets(top: 44.0, left: 0.0, bottom: 34.0, right: 0.0)

注意:

viewWillLayoutSubviews和viewDidLayoutSubviews调用时机:

1、init初始化不会触发layoutSubviews
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件

相关文章

网友评论

      本文标题:新的UIViewController调用时序

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