Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Auto Layout
Slide 2
Slide 2 text
Frame + autoresizingMask Auto Layout
Slide 3
Slide 3 text
basis • SuperView的位置确定了,那么SubView的位置就可 以被确定 • SuperView -> SubView的{x, y, width, height} -> SubView的位置
Slide 4
Slide 4 text
Cassowary You provide rules, whether through IB or through code, and the Auto Layout system transforms those rules into view frames.
Slide 5
Slide 5 text
Constraint y = kx + b view1的某个属性 = k × view2的某个属性 + b
Slide 6
Slide 6 text
NSLayoutConstraint + (instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAtribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multipler constant:(CGFloat)c
Slide 7
Slide 7 text
开始Auto Layout • No frame & autoresizingMask • ⽗父View当前的⼤大⼩小是不可靠的
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
思路 • 合理的把⼦子View分组 • 确定⼤大致依赖关系 —— 要想确定A的位置,⾸首先我得知道B 的位置 & 只要B的位置定下来了,那么A的位置就可以被确定 • 找出那些只依赖⽗父View的View(⼀一定存在),先 添加他们的约束 • 根据依赖关系,⼀一级⼀一级的添加约束
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
Code
Slide 14
Slide 14 text
Advanced • Content Hugging & Compression Resistance • Intrinsic Content Size • Animation