拾遗系列(三)屏幕适配:Autolayout

  • autoresizing:子控件根据父控件变化而变化,父控件与子控件之间建立联系。

  • autolayout:任何两个控件之间都可建立联系。(参照、约束)
    目前两者是对立的,用autolayout需要关闭autoresizing。目前Xcode默认是autolayout模式。

  • UILabel自动布局,只要有位置结束及宽度固定,系统会自动更新高度。此时uilabel边框会自动包住文字。

  • layoutIfNeed:在代码中对约束进行修改时,可以此方法写在animate动画中。

masonry

  • 添加约束:
    mas_makeConstraints:只会添加新的约束
    mas_remakeConstraints:删除以前所有约束,增加新约束
    mas_updateConstraints:将会覆盖以前某些特定约束
  • 尺寸约束:make.size.mas_equalTo(100); === make.size.equalTo(@100); //后者100 需要包装。区分mas_EqualTo equalTo
  • 位置约束:make.center.mas_equalTo

make . [做什么约束] . [关系:哪个控件] . [系数] . [偏移量]

约束类型:
* 1.尺寸:width、height、size
* 2.边界:left(leading)、right(trailing)、top、bottom
* 3.中心点:center、centerX、centerY
* 4.边界:edges

#define MAS_SHORTHAND //添加这个宏,代码中可省略mas_前缀。
#define MAS_SHORTHAND_GLOBALS //添加这个宏,mas_equalTo   等价于 equalTo
所有代码都不需要增加:mas_
此宏定义必须写在Masonry.h 之前

约束优先级

此功能可用于两个约束冲突时

约束

C距离B底部为10,若此时B隐藏了,需要让C距离A底部为10。这种情形下需要用到约束优先级。

给C添加个新的约束,距离C底部为10,并且设置此约束优先级低于C距离B底部的优先级。
- 当B隐藏时,需要调换两个优先级。
- 将B删除(不建议)
- 将B隐藏,且设置高度0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值