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

Posted 御龙家园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控件利用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

以上是关于控件利用Masonry添加约束之后 不能立刻获取到该控件的尺寸的主要内容,如果未能解决你的问题,请参考以下文章

Masonry 代码添加约束

用Masonry实现键盘的收回和弹出

Masonry库的使用

Masonry约束动画 以及 键盘弹起

Masonry 添加约束要注意顺序

Masonry使用注意事项