blu*_*ith 6 macos cocoa cocoa-touch ios autolayout
我开始帮助的项目之前没有使用自动布局,我正在更新它以使用自动布局和大小类.整个应用程序中有相当数量的帧操作代码(例如直接设置框架而不是更改约束常量),我想知道这是如何影响使用自动布局约束设置的视图.
我正在努力消除代码的帧更改部分并将其更改为在需要时更新约束常量,但由于我还不是100%熟悉每个代码的工作原理,因此它对更好地了解自动布局和编码帧更改如何相互影响,以便如果视图在运行时没有正确显示,我可以更好地确定它是我设置的东西,还是某个需要的某个旧代码发现并更新.
这很简单.你只需要了解自动布局是什么.
这是它的工作原理.约束只是一个指令列表; 他们自己实际上并没有做任何事情.系统消息layoutSubviews是在您无法控制的时刻发送的 - 所以您应该想象它可以随时发送.当layoutSubviews 被实际发送的约束协商,服从(正好做你会做什么-那就是,运行时设置frame,或bounds和center,每个视图的).
因此,您可以自由更改frame视图,但请注意,如果layoutSubviews发送并且约束与frame您设置的不一致,则视图将跳回到约束所说的位置.