尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

使用 Masonry 实现两个不固定文字长度的 Label 在同一个 View 中,并让父视图自适应高度 iOS

使用 Masonry 实现两个不固定文字长度的 Label 在同一个 View 中,并让父视图自适应高度 iOS
📅 发布时间:2026/6/22 20:40:03

 

使用 Masonry 实现两个不固定文字长度的 Label 在同一个 View 中,并让父视图自适应高度,可以这样实现:

// 创建父视图
UIView *containerView = [[UIView alloc] init];
[self.view addSubview:containerView];// 创建第一个 Label
UILabel *label1 = [[UILabel alloc] init];
label1.numberOfLines = 0; // 关键:允许多行显示
label1.text = @"不固定的文字内容1...";
[containerView addSubview:label1];// 创建第二个 Label
UILabel *label2 = [[UILabel alloc] init];
label2.numberOfLines = 0; // 关键:允许多行显示
label2.text = @"不固定的文字内容2...";
[containerView addSubview:label2];// 设置父视图约束(宽度固定,高度自适应)
[containerView mas_makeConstraints:^(MASConstraintMaker *make) {make.center.equalTo(self.view);make.width.mas_equalTo(300); // 设置固定宽度或相对宽度
}];// 设置第一个 Label 约束
[label1 mas_makeConstraints:^(MASConstraintMaker *make) {make.top.left.right.equalTo(containerView).insets(UIEdgeInsetsMake(10, 10, 0, 10));
}];// 设置第二个 Label 约束
[label2 mas_makeConstraints:^(MASConstraintMaker *make) {make.top.equalTo(label1.mas_bottom).offset(10); // 与 label1 的间距make.left.right.equalTo(containerView).insets(UIEdgeInsetsMake(0, 10, 10, 10));make.bottom.equalTo(containerView).offset(-10); // 关键:连接到底部
}];

关键点说明:

  1. 1.多行支持:两个 Label 都要设置 numberOfLines = 0
  2. 2.约束链:通过 label1.top -> label1.bottom -> label2.top -> label2.bottom -> containerView.bottom形成完整的垂直约束链
  3. 3.底部约束:最后一个 Label 必须与父视图底部连接(make.bottom.equalTo(containerView).offset(-10))
  4. 4.宽度固定:父视图需要有明确的宽度约束,高度才能正确计算

如果需要动态更新内容后刷新布局:

// 更新文字内容后调用
[label1 setText:@"新的长文字..."];
[label2 setText:@"另一个长文字..."];// 强制刷新布局
[containerView setNeedsLayout];
[containerView layoutIfNeeded];// 或者使用 Masonry 的更新约束方法
[containerView mas_updateConstraints:^(MASConstraintMaker *make) {make.width.mas_equalTo(新宽度); // 如果需要调整宽度
}];

这样父视图就会根据两个 Label 的内容自动调整高度,支持文字长度变化时的自适应。

在北京的灯中,有一盏是我家的。这个梦何时可以实现?哪怕微微亮。北京就像魔鬼训练营,有能力的留,没能力的走……

相关新闻

  • 私处有异味怎么去除?解析幻颜之约益生菌洗液与益生菌片的除味原理
  • dds通信
  • 2025成都装修公司哪家好——四川大晶装饰,深耕本土20年,装修/整装/家装/全包装修/房屋装修一站式解决,凭实力出圈

最新新闻

  • (2026最新)杭州防水补漏正规公司甄选推荐:漏水检测维修-暗管漏水精准定位检测漏水点-卫生间/厨房/屋顶/阳台/渗漏水维修-本地人必选的正规测漏公司 - 即刻修防水
  • 卡立方000000源头邀请码全域权限深度全解:平台背景、底层架构、显性+隐形权益、账号终身规则完整剖析 - 卡立方平台官方号
  • Ubuntu 20.04 配置 MongoDB 远程访问的三层安全实践
  • 本地优先混合检索系统vstash:融合语义与关键词搜索,实现数据隐私与智能搜索兼得
  • AI 代币经济模型设计:从博弈论到动态供需均衡的仿真与优化
  • 如何评估工业冷水机公司的可靠性 - myqiye

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号