Masonry与frame

来源:互联网 发布:mac版千牛窗口 编辑:程序博客网 时间:2024/05/22 03:33

Q:开发中一般将子控件约束和数据请求都写到ViewDidLoad方法中,有时需要根据请求到的数据调整控件的frame,但这时发现并没有起作用?
A:这是因为我们在ViewDidLoad中设置的约束,要等到ViewDidAppear时View的尺寸才会真正改变。对于这个问题我们可以在layoutSubViews中或者ViewDidLayoutSubviews中设置frame,这时约束已经生效,尺寸真正发生了变化。或者我们还可以在设置完约束之后手动调用layoutIfNeeded方法,让视图立即layout,更新frame。然后就可以拿到约束设置的view的尺寸了。

0 0
原创粉丝点击