Autolayout 是苹果本身提倡的技术,在大部分情况下也能很好的提升开发效率,但是 Autolayout 对于复杂视图来说常常会产生严重的性能问题。随着视图数量的增长,Autolayout 带来的 CPU 消耗会呈指数级上升.
Autolayout之后获取View的Frame一般在控制器viewDidAppear()或layoutSubViews()中才能获取正确的Frame.
但平时我们用interface编写简单的静态页面的时候,倒是无关大碍,配合动画时我们要在动画闭包里实现约束对象父类视图layoutIfNeeded().
[UIView animateWithDuration:0.3 animations:^{ self.height_firstAnswerView.constant = 44; [self.view layoutIfNeeded]; }];