何时调用ViewWillLayoutSubviews和ViewDidLayoutSubviews方法?

Was*_*m05 24 objective-c uiviewcontroller ios ios6 ios7

什么时候调用UIViewController ViewWillLayoutSubviewsViewDidLayoutSubviews方法?之前视图框架的状态是什么willLayoutSubviews

cmy*_*myr 45

从文件:

当视图的边界发生变化时,视图会调整其子视图的位置.您的视图控制器可以覆盖此方法以在视图布局其子视图之前进行更改.(链接)

viewWillLayoutSubviews在视图控制器的视图更改其边界时随时调用.加载视图,发生旋转事件或子视图控制器的大小由其父级更改时,会发生这种情况.(也可能还有其他一些情况).如果在视图自行放置之前需要更新任何内容(并且在重新应用约束之前),则应在此处执行此操作.你通常应该在这里更新约束,因为更新约束会导致另一个布局传递.

viewDidLayoutSubviews一旦您的所有子视图都已布局,就会调用它.例如,如果您需要通过手动调整框架来微调该布局,那么就可以进行此操作.

查看控制器生命周期可能有点令人困惑,但是如果你要进行大量的iOS开发,那么值得尝试真正理解它.这篇文章是一个非常好的概述.

  • 文章链接已死:( (7认同)
  • 文章链接仍然无法访问。 (3认同)