第一次写简书,喷轻点,谢谢
先带大家看个例子:先在sb中约束了一个view,这个view距离设备左和右都是 0,相当于和设备一样宽.

然后我们在X MAX的模拟器中打印这个红色 view 的宽度

这时候我们肯定认为这个 view 和屏幕宽度是一样的因为我约束的宽度和设备一样宽,然而

为什么会这样呢?查了资料以后发现如果是 sb 创建的 view 在viewDidload中会先返回sb 当前的约束,一直到viewDidAppear才会对 view 根据屏幕大小重新布局

那么在开发过程中想要在viewDidload就获取最新的约束怎么办呢? 方法有的,可以通过[self.view setNeedsLayout];
[self.view layoutIfNeeded];立即刷新布局.

这样就可以啦.就这么简单.这是我第一次写简书,记录自己遇到过解决过的问题.如果写的不好,希望各位多多指正,谢谢.
网友评论