控件利用Masonry添加约束之后 不能立刻获取到该控件的尺寸

我们用代码创建了一个按钮  然后利用Masonry来添加宽高和坐标  接下来我们马上需要用到该按钮的尺寸,会发现取到的是{0,0}}  代码如下:

   //头像按钮
    UIButton *portraitBtn = [UIButton new];

    [self.view addSubview:portraitBtn];

    [portraitBtn mas_makeConstraints:^(MASConstraintMaker *make) {

        make.width.height.offset(80);

        make.left.offset(20);

        make.top.offset(100);

    }];
   
    NSLog(@"%@",portraitBtn);

解决方法:

[portraitBtn layoutIfNeeded];

没错,就是 layoutIfNeeded  这样就能马上获取到正确的尺寸

@end

原文地址:https://www.cnblogs.com/yulongjiayuan/p/7366786.html