自动布局(Masonry)遇到scrollview

情况是这样的,需要在scrollveiw上,add一个label,这个label。是根据字符串多少来显示高度的。而scrollview需要更具label来确定contentSize的高度

先上图显示效果

1.初始话scrollview,contentSize高度随便给

- (UIScrollView *)scrollView {
if (!_scrollView ) {
_scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
_scrollView.contentSize = CGSizeMake(_scrollView.frame.size.width, 0);
_scrollView.backgroundColor = COLOR_B8;
}
return _scrollView;
}
# 2.布局之前计算label的高度
CGFloat detailHeight = [self getLabelHeight:self.labDetail];
- (CGFloat)getLabelHeight:(UILabel *)label {
CGRect r = [label.text boundingRectWithSize:CGSizeMake(self.view.frame.size.width - 40,10000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:label.font} context:nil];
return r.size.height;
}
# 3.自动布局,我的这个工程中,前面两个view的高度是写死的。就不说了。主要是第三个view
//label的父视图布局
[self.detailView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleView.mas_bottom).offset(10);
make.width.mas_equalTo(_scrollView.frame.size.width - 20);
make.left.equalTo(self.coverView.mas_left);
make.bottom.equalTo(self.scrollView.mas_bottom).offset(-10);
}];
//labe的布局
[self.labDetail mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(labCourseDetail);
make.top.equalTo(labCourseDetail.mas_bottom).offset(10);
make.right.equalTo(self.detailView.mas_right).offset(-10);
make.bottom.equalTo(self.detailView.mas_bottom).offset(-20);
make.height.equalTo(detailHeight);(这里需要bottom和height两个约束)
}];
这样就可以了。scrollview就会根据label的高度变化来显示

联系:QQ925889828

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS的视图中,UIScrollView是比较常用的视图。但是UIScrollView在自动布局中是一种特殊的视图...
    流水_事阅读 7,588评论 1 16
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,252评论 4 61
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 梁实秋先生讲过一句话---只有上帝和野兽才喜欢孤独!我不喜欢热闹,偏爱一个人静处,享受孤独!自认和上帝还有...
    洛尘_杨阅读 1,061评论 0 0
  • 文/艺莫 闲暇 靠窗坐在竹椅上 一阵秋风吹进窗 轻轻拂过我脸庞 瞬间感觉有些凉 正欲随手关上窗 随之飘来桂花香 闻...
    艺莫阅读 171评论 1 7