autolayout přehled

Post on 15-Jun-2015

114 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

Krátký úvod do AutoLayout na iOS, prezentováno na iOSova 20. 2. 2014.

TRANSCRIPT

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

Konec

• dotazy

Konec

• dotazy

• @ondrejhanak

Konec

• dotazy

• @ondrejhanak

• http://ondrejhanak.cz

top related