美文网首页UI 界面
获取xib自动布局后的frame

获取xib自动布局后的frame

作者: 小明童鞋的大哥的弟弟 | 来源:发表于2020-12-08 14:47 被阅读0次
    OC中 我们使用xib创建的View,如果说想获得控件自动布局后的frame就需要在:
    - (void)layoutSubviews
    {
     [super layoutSubviews];
    //下面两行代码必不可少
     [self.contentView setNeedsLayout];
     [self.contentView layoutIfNeeded];
    //下面就可以获取自动布局之后的frame
    }
    
    2.如果我们想要获取的是vc控制器的控件frame,那么我们需要在:
    - (void)viewDidLayoutSubviews
    {
        [super viewDidLayoutSubviews];
    //下面去获取frame  是正确的
    }
    
    setNeedsLayout : 标记需要重新布局,异步调用layoutIfNeeded去刷新布局,不会立即去刷新,而是等待下一次runloop结束前刷新。
    layoutIfNeeded:如果有需要刷新的标记,就立即去刷新。
    
    如果我们需要在当前runloop立即去刷新布局,可以先调用setNeedsLayout标记需要去刷新,然后调用layoutIfNeeded立即刷新布局
    

    相关文章

      网友评论

        本文标题:获取xib自动布局后的frame

        本文链接:https://www.haomeiwen.com/subject/innfgktx.html