最近在升级iOS10和Xcode8后出现了一个奇怪的问题,在所有使用autolayout的自定义视图中,在计算控件的frame时,总是出现控件的frame为(0,0,1000,1000)的情况。
问题如下:
于是本人花了一些时间进行问题的查找,最后发现只要在需要对控件进行修改前,调用一下该空间的layoutIfNeeded()方法便可。
代码如下:
-(void)awakeFromNib{
[super awakeFromNib];
[self layoutIfNeeded];
self.autoresizingMask = UIViewAutoresizingNone;
//对用户头像的样式进行设置
[self setupAuthorPhotoStyle];
}
问题解决: