Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Auto-Layout.pdf
Search
Shuai Liu
September 22, 2015
Technology
2
100
Auto-Layout.pdf
Shuai Liu
September 22, 2015
Tweet
Share
More Decks by Shuai Liu
See All by Shuai Liu
Python-intro-2
liushuaikobe
0
53
Python-intro-1
liushuaikobe
0
45
GitRadar——毕业论文答辩
liushuaikobe
0
140
NoSQL & MongoDB
liushuaikobe
0
88
Other Decks in Technology
See All in Technology
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
2
320
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
240
日本におけるデータエンジニアリングのこれまでとこれから
foursue
11
2.4k
疲弊しない!AWSセキュリティ統制の考え方 #devio_osakaday1
masahirokawahara
6
5.9k
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
740
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
61
18k
Microsoft Cloudで開発ライフサイクルを保護する
kkamegawa
0
140
人間の尊厳、幸福、アクセシビリティ / 第116回「WEB TOUCH MEETING」アクセシビリティSP
nulabinc
PRO
2
180
SREとその組織類型
tatsuo48
8
1.5k
Databricksを活用してDELISH KITCHENのレシピレコメンドを開発した話
furu8
0
250
NgRx Signal Store
rainerhahnekamp
0
120
エンタープライズ環境下での Active Directory の運用 TIPS
tamaiyutaro
1
1.6k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
272
22k
Code Reviewing Like a Champion
maltzj
513
39k
Large-scale JavaScript Application Architecture
addyosmani
503
110k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
In The Pink: A Labor of Love
frogandcode
138
21k
A Tale of Four Properties
chriscoyier
150
22k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Building Adaptive Systems
keathley
30
1.8k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
RailsConf 2023
tenderlove
2
530
KATA
mclloyd
14
12k
Gamification - CAS2011
davidbonilla
76
4.6k
Transcript
Auto Layout
Frame + autoresizingMask Auto Layout
basis • SuperView的位置确定了,那么SubView的位置就可 以被确定 • SuperView -> SubView的{x, y, width,
height} -> SubView的位置
Cassowary You provide rules, whether through IB or through code,
and the Auto Layout system transforms those rules into view frames.
Constraint y = kx + b view1的某个属性 = k ×
view2的某个属性 + b
NSLayoutConstraint + (instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAtribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multipler constant:(CGFloat)c
开始Auto Layout • No frame & autoresizingMask • ⽗父View当前的⼤大⼩小是不可靠的
None
思路 • 合理的把⼦子View分组 • 确定⼤大致依赖关系 —— 要想确定A的位置,⾸首先我得知道B 的位置 & 只要B的位置定下来了,那么A的位置就可以被确定
• 找出那些只依赖⽗父View的View(⼀一定存在),先 添加他们的约束 • 根据依赖关系,⼀一级⼀一级的添加约束
None
None
None
Code
Advanced • Content Hugging & Compression Resistance • Intrinsic Content
Size • Animation