美文网首页
iOS 获取xib中使用约束布局的View实际尺寸

iOS 获取xib中使用约束布局的View实际尺寸

作者: ZT_Story | 来源:发表于2019-09-25 17:49 被阅读0次

开发中为了方便很多时候使用了xib,很多子视图使用了autolayout布局
这里很多小伙伴有疑问说获取到的子view的frame不正确

控制器view使用xib

这个和页面渲染顺序有关,在加载完成后,绘制还没有结束,所以viewDidLoad中拿不到真实的frame
我们这个时候拿到的只是xib中默认的宽和高,并非拉伸后的宽高

- (void)viewDidLayoutSubviews { 
   [super viewDidLayoutSubviews];
   // 所以我们要在这个方法中获取view的实际宽高

   // 如果有获取的不正确的情况,用下面方法强制刷新界面,就可以获取正确的高度了
   [self.view layoutIfNeeded];
}

cell中使用xib

和上面同理

- (void)layoutSubviews {
   [super layoutSubviews];
   // 这里的contentView的尺寸是实际尺寸

   // 如果有获取的不正确的情况,用下面方法强制刷新界面,就可以获取正确的高度了
   [self.view layoutIfNeeded];
 }

相关文章

网友评论

      本文标题:iOS 获取xib中使用约束布局的View实际尺寸

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