答案:调用下layoutIfNeeded后,系统会触发更新,但不一定保证何时能更新。
如果要强制获得Autolayout的frame可以给UIView增加如下的Category方法:
- (CGFloat)my_layoutHeight { return [self systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height; } - (CGFloat)my_layoutWidth { return [self systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].width; }