Masonry实现动态宽度依赖布局
发布日期:2022-04-05 00:52:15
浏览次数:3
分类:博客文章
本文共 2065 字,大约阅读时间需要 6 分钟。
Masonry 大家都不陌生,现在简单分享下动态宽度使用心得。先简述下问题,如图:
A、C宽度根据文本内容自适应,B距离A、C之间的间距都是10pt。
直接上代码:
1、A、C不设置宽度,其他约束按照正常设置
[self.bgView addSubview:self.leftBtn]; [self.leftBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.bgView); make.top.equalTo(self.bgView.mas_top).offset(15); make.height.mas_equalTo(16); }]; [self.bgView addSubview:self.rightBtn]; [self.rightBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self.bgView); make.top.equalTo(self.bgView); make.height.mas_equalTo(18); }]; self.nameLabel = [[UILabel alloc]init]; self.nameLabel.font = IC_TITLE_FONTNAMEWITHSIZE_16; self.nameLabel.textColor = XZWL_COLOR_333333; self.nameLabel.textAlignment = NSTextAlignmentLeft; [self.bgView addSubview:self.nameLabel]; [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self.rightBtn.mas_left).offset(-10); make.left.equalTo(self.leftBtn.mas_right).offset(10); make.centerY.equalTo(self.leftBtn); make.height.mas_equalTo(16); }];
2、在赋值地方设置A、C宽度
[self.leftBtn setTitle:leftStr forState:UIControlStateNormal]; CGSize size = [self.leftBtn sizeThatFits:CGSizeZero]; [self.leftBtn mas_updateConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(size.width); }]; CardDetailList *detailsModel = model.cardDetailList.firstObject; self.nameLabel.text = ObjErrorCheck(detailsModel.title); if (ObjErrorCheck(detailsModel.statusName).length) { self.rightBtn.hidden = NO; [self.rightBtn setBackgroundColor:[iComeCarrerCircleColorTool getEvaCardStateColor:detailsModel.statusColorType]]; [self.rightBtn setTitle: ObjErrorCheck(detailsModel.statusName) forState:UIControlStateNormal]; CGSize size = [self.rightBtn sizeThatFits:CGSizeZero]; [self.rightBtn mas_updateConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(size.width); }]; } else { self.rightBtn.hidden = YES; }
转载地址:https://www.cnblogs.com/lijianyi/p/12596972.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月21日 20时59分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java — String(字符串)
2019-04-27
linux shell — 7.linux 磁盘与文件系统管理
2019-04-27
linux shell — 8.linux 磁盘与文件系统管理(2)
2019-04-27
Java — 事件监听、事件处理 初体验
2019-04-27
linux — Centos 7(第一天) 使用时出现的问题及解决方法
2019-04-27
数据结构 — 图的概述
2019-04-27
Centos 7 上 Eclipse 无法输入中文解决方法
2019-04-27
数据结构 — 图之邻接表存储创建和深度优先遍历
2019-04-27
Centos 7 — Gedit 配色方案
2019-04-27
数据结构 — 图 之 广度优先遍历
2019-04-27
数据结构 — 图 之 MST(最小生成树 — prim算法 )
2019-04-27
数据结构 — 图 之 MPT(最短路径 — dijkstra算法 )
2019-04-27
数据结构 — 7.有向图的创建及出入度的计算
2019-04-27
数据结构 — 图 之 拓扑排序 (AOV网)
2019-04-27
数据结构 — 图 之 关键路径、关键活动 (文字表述)
2019-04-27
数据结构 — 树 与 二叉树、森林
2019-04-27
数据结构 — 二叉树(创建、遍历)java实现
2019-04-27
数据结构 — 查找(最基础)
2019-04-27
关于 自减运算符 (i--/--j)在 循环(for与while)中的执行过程
2019-04-27
Jquery - Jquery 包装集
2019-04-27