Autolayout(Masonry)和Frame冲突问题

参考:Apple官网文章 Understanding Auto Layout

总结

  • 添加完Autolayout (Masonry)约束并不是马上生效,会在合适的时机加载完成,这个时候读取的Frame值还是之前的
  • 添加完Autolayout (Masonry)约束后修改Frame,会在合适的时机修改回来,导致Frame的修改行为失效
  • 意味着同时设置FrameAutolayout (Masonry)约束,最终在屏幕上显示的是约束要显示的样子,值得提醒的是,更改Frame不会改变Autolayout (Masonry)约束

合适的时机

在这里插入图片描述
在这里插入图片描述

  • 当然除了这些以外,还可以手动调用刷新

AutoLayout Constraints 自动布局

视图的布局体系由一系列线性方程(Cassowary 布局算法)所确定,每个约束都可看作是一个方程的表示,AutoLayout 的性能瓶颈就是 Cassowary 求解多个方程组的效率问题

猜你喜欢

转载自blog.csdn.net/weixin_46926959/article/details/128320104