Tho*_*hor 5 uiviewcontroller uiview ios swift
我理解这layoutSubviews()是一个方法,UIView并且viewWillLayoutSubviews()是一个方法UIViewController,它们都用于在边界/框架改变时调整子视图的位置,但我不完全确定它们之间的区别以及何时使用它们.有人可以赐教吗?
没有有效的区别.One(layoutSubviews)是运行时发送给视图的消息,other(viewWillLayoutSubviews)是运行时发送给视图控制器的消息.到视图控制器的消息告诉视图控制器它的视图即将接收视图消息!就这样.他们一起去.
viewWillLayoutSubviews当视图控制器的视图边界更改时(通常在视图加载或方向更改时发生,或者如果它是子视图控制器,并且其视图被父视图控制器更改),但在子视图的边界或位置更改之前调用。您可以重写此方法,以便在视图布局子视图的边界或位置之前对它们进行一些更改。
layoutSubviews,来自苹果的文档:
仅当子视图的自动调整大小和基于约束的行为不提供您想要的行为时,您才应该重写此方法
当发生布局更新时,会调用此方法,可以通过显式更改视图的边界或在视图上调用setNeedsLayout或来强制进行布局更新。layoutIfNeeded请记住,它将由操作系统自动调用,您永远不应该直接调用它。您很少需要重写此方法,因为通常自动调整大小或约束会为您完成这项工作。
Mah*_*wal -1
layoutSubviews()当您更改 UIView 内部的任何约束值并且多个元素受到约束更改的影响时,您可以调用UIView 的 。当您通过在运行时获取约束的出口来更改约束来执行某些任务时,您可以调用它。但这不是最佳实践。我建议打电话layoutIfNeeded()而不是这个layoutSubviews()。
viewWillLayoutSubviews()当您想要在视图控制器中的任何元素更改其大小或位置之前执行某些任务时,您需要使用函数。
当您要制作应用程序时,在最坏的情况下很少使用这两个功能。这是根据我的理解。谢谢。
| 归档时间: |
|
| 查看次数: |
6767 次 |
| 最近记录: |