Date post: | 15-Jun-2015 |
Category: |
Technology |
Upload: | ondrej-hanak |
View: | 116 times |
Download: | 7 times |
AutoLayout!
Ondřej Hanák
iOSova 20. 2. 2014
Co to je
Co to je
• systém pro pozicování views
Co to je
• systém pro pozicování views
• popisuje vztahy mezi nimi
Co to je
• systém pro pozicování views
• popisuje vztahy mezi nimi
• absolutní i relativní hodnoty
Co to je
• systém pro pozicování views
• popisuje vztahy mezi nimi
• absolutní i relativní hodnoty
• nahrazuje koncept struts and springs za constraints
Co je potřeba
Co je potřeba
• iOS 6+
Co je potřeba
• iOS 6+
• pro každé view známé x, y, šířka a výška
Co je potřeba
• iOS 6+
• pro každé view známé x, y, šířka a výška
• jednoznačnost (priorita 0 až 1000)
Co je potřeba
• iOS 6+
• pro každé view známé x, y, šířka a výška
• jednoznačnost (priorita 0 až 1000)
• intrinsicContentSize a UIViewNoIntrinsicMetric
Matematika
Matematika
• lineární (ne)rovnice
Matematika
• lineární (ne)rovnice
• hodnota = jina_hodnota * nasobic + konstanta
Matematika
• lineární (ne)rovnice
• hodnota = jina_hodnota * nasobic + konstanta
• tlacitko_sirka >= rodic_sirka * 0.4 + 10
Matematika
• lineární (ne)rovnice
• hodnota = jina_hodnota * nasobic + konstanta
• tlacitko_sirka >= rodic_sirka * 0.4 + 10
• tlacitko_x = label_x * 1 + 0
Jak s tím pracovat
Jak s tím pracovat
• Interface Builder - Xcode 5 FTW
Jak s tím pracovat
• Interface Builder - Xcode 5 FTW
• outlets
Jak s tím pracovat
• Interface Builder - Xcode 5 FTW
• outlets
• kód s pomocí VFL: absolutní hodnoty
Jak s tím pracovat
• Interface Builder - Xcode 5 FTW
• outlets
• kód s pomocí VFL: absolutní hodnoty
• kód přímo: relativní hodnoty
Interface builderDocument outline Size inspector
Attributes inspector
Visual Formatting Language
Visual Formatting Language
[NSLayoutConstraint constraintsWithVisualFormat:@“V:|[image(>=100)]-(padding)-[title]“ options:0 metrics:metrics views:views];
Low level
Low level
[NSLayoutConstraint constraintWithItem:self.button attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeWidth multiplier:0.4 constant:0];
Chytáky
Chytáky• nejdřív view napojte na superview
Chytáky• nejdřív view napojte na superview
• nastavte translatesAutoresizingMask IntoConstraints = NO
Chytáky• nejdřív view napojte na superview
• nastavte translatesAutoresizingMask IntoConstraints = NO
• zapomeňte na initWithFrame
Chytáky• nejdřív view napojte na superview
• nastavte translatesAutoresizingMask IntoConstraints = NO
• zapomeňte na initWithFrame
• hodnoty vypočteny od didLayoutSubviews
Chytáky• nejdřív view napojte na superview
• nastavte translatesAutoresizingMask IntoConstraints = NO
• zapomeňte na initWithFrame
• hodnoty vypočteny od didLayoutSubviews
• násobič pouze pro čtení
Konec