Masnory 多个控件与优先级
来源:互联网 发布:学c语言是用什么软件 编辑:程序博客网 时间:2024/05/17 13:06
1.参考文章
Masonry介绍与使用实践:快速上手Autolayout
IOS自适应前段库-Masonry的使用
我是阅读完成这两篇才开始写masnory的约束的。
2.
当uilabel左右之间相互适应的时候。因为不用设置uilabel左边和右边的宽度,即左边的label不用设置靠右距离,右边的label不用设置靠左的距离,有可能出现右边文字过长造成覆盖在左边文字上,或者相反,这时候需要设置
make.right.equalTo(self.rightLabel.mas_left);
leftlabel的右边等于rightlabel的左边,这样可能出现两种情况。因为uilalbel左+ uilabel右边 = 总宽度
所以会造成uilabel左边宽度变大 或者 uilabel 右边宽度变大。此时masnory会默认左边宽度变大
如果这时候需要在左边label后边添加一个紧紧贴着的红点,或者一个uiimage ,就会发现被贴到右边label附近了,因为左边的label被拉伸了,大半行都被占领了,这时候因为你又不能设置masnory label的宽度,因为label的宽度是由文字自适应的,现在还没传递文字,自然宽度也不知道,于是就有个方法来解决问题
改变先前的那行代码为
make.right.lessThanOrEqualTo(self.rightLabel.mas_left);
是指让leftlabel的右边*小于或者等于*rightlabel的左边,这样就会使得rightlabel的约束的优先级大于或者等于左边的约束,因为leftlabel+ rightlabel = 总宽度,这时候就会将rightlabel向左拉伸,leftLabel保持不变了,这时候小红点的位置就不会错了。就是靠着左边了
self.titleLabel = [UILabel new]; [self addSubview:self.titleLabel]; self.redPot = [UILabel new]; [self addSubview:self.redPot]; self.rightLabel = [UILabel new]; [self addSubview:self.rightLabel]; [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self); make.left.equalTo(@(16)); make.right.lessThanOrEqualTo(self.rightLabel.mas_left); }]; [self.redPot mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self).offset(-8); make.left.equalTo(self.titleLabel.mas_right).offset(3); make.width.height.mas_equalTo(@(8)); }]; [self.rightLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self); make.right.equalTo(@(-30)); }];
3.不要赋给tableview的headview使用masnory。不会起效。
- Masnory 多个控件与优先级
- Masnory 使用
- 2个没有固定长度约束的控件的优先级
- celery多个队列优先级实现
- spring的多个AOP的优先级
- C# 控件Dock优先级
- Masnory的简单使用方法
- 浅析AutoLayout和Masnory
- masnory 基本使用
- 优先级翻转与优先级继承
- 优先级翻转与优先级继承
- 优先级翻转与优先级继承
- 优先级翻转与优先级继承
- 优先级翻转与优先级继承
- 关于CSS的优先级,CSS优先级计算,多个class引用
- 同一元素应用多个class的优先级的测试
- HTML中设置多个class属性的优先级
- Spring MVC多个视图解析器及优先级
- Linux 下I2C 驱动架构全面分析
- C++第6次实验(提高班)—类和对象2
- ATP的SDOI2017R1续命记
- HTML5桌面通知:notification
- IDEA maven dependency自动补全
- Masnory 多个控件与优先级
- js 与 Android 的交互
- DB2入门(5)——DB2配置文件
- 机器学习入门系列06,Logistic Regression逻辑回归
- 文件上传和下载
- 高仿微信上划取消录音
- Delphi 关于子线程控制界面控件时,画面抖动的问题
- 仿wanplus.com游戏网站,建站。
- C++沉思录-第6章 句柄