AutoLayout技术细节笔记--部分

1,约束规则:

a,对于两个同层级view之间的约束关系,添加到他们的父view

b,对于两个不同层级view之间的约束关系,添加到他们最近的共同父view

c,对于有层次关系的两个view之间的约束关系,添加到层次较高的父view

2,VFL

a,[cancelButton(72)]-12-[acceptButton(50)]

  • 取消按钮宽72pointaccept按钮宽50point,它们之间间距12point
  • b,[wideView(>=60@700)]
  • wideView宽度大于等于60point,该约束条件优先级为700(优先级最大值为1000,优先级越高的约束越先被满足)
  • cV:[redBox][yellowBox(==redBox)]
  • 竖直布局,先是一个redBox,其下方紧接一个宽度等于redBox宽度的yellowBox

d,H:|-[Find]-[FindNext]-[FindField(>=20)]-|

  • 水平布局,Find距离父view左边缘默认间隔宽度,之后是FindNext距离Find间隔默认宽度;再之后是宽度不小于20FindField,它和FindNext以及父view右边缘的间距都是默认宽度。(竖线’|‘ 表示superview的边缘)

3,BUG

a,布局不能确定--ambiguous Layout

b,无法满足约束--Unsatisfiable Constraints

调试:1--po [[UIWindow keyWindow] _autolayoutTrace]-->找出问题所在。

2--查看view的约束:

[view constraintsAffectingLayoutForOrientation/Axis: NSLayoutConstraintOrientationHorizontal/Vertical]

  • [view hasAmbiguousLayout]
    • [view exerciseAmbiguityInLayout]

4-动画

自动布局(autoLayout)后,动画的实现只需[UIView animateWithDuration:0.5 animations:^{

    [view layoutIfNeeded];

}];即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值