自动布局= ViewWillAppear的视图宽度错误

Fat*_*ror 6 ios autolayout

我正在为我的部分UI使用autolayout.当我在viewWillAppear中检查视图的宽度时,宽度尚未更新.它在第二次回调到 - (void)updateViewConstraints后得到更新.问题是我在viewWillAppear中根据此宽度设置我的UI部分(由于遗留原因使用spring和struts).什么时候设置这个带有宽度参数的旧UI?

谢谢

rob*_*off 15

布局在viewWillAppear返回后发生.在viewDidLayoutSubviews(在您的视图控制器中)或layoutSubviews(在您的自定义视图子类中)执行此操作.无论哪种方式,一定super要先打电话.

另一种方法是通过发送强制布局[view layoutIfNeeded].然后你可以添加子视图并设置它们的弹簧和支柱.系统将再次执行布局(在通常的时间),因为您添加了子视图.