autolayout y size classes

38
Auto Layout It never works!

Upload: nscoder-mexico

Post on 13-Aug-2015

64 views

Category:

Technology


0 download

TRANSCRIPT

Auto LayoutIt never works!

Auto LayoutHay alguna forma de obviarlo?

Auto LayoutHora de aprender!

Entrando al tema…

view.frame = CGRectMake(20, 10, 50,

100);

points = resolution

points = resolution * 2Para pantallas que soportan resolución Retina

Código para UIif (IPHONE4) { … } else if (IPHONE 5){ … } else if (IPHONE6) { … } else if (IPHONE6PLUS) { … } else if (IPAD) { … }

La Solución de Apple para esto es:

Auto Layout y Size Classes

Auto LayoutSistema descriptivo de relaciones entre elementos

ConstraintsRelaciones entre elementos

Leading ConstraintA la Izquierda

Trailing ConstraintA la Derecha

Top ConstraintArriba

Bottom ConstraintAbajo

Height and Width ConstraintAltura y Ancho

?

ConstantTamaño del Constraint

30

ConstantTamaño del Constraint

60

ConstantTamaño del Constraint

= 60

ConstantTamaño del Constraint

>= 60

ConstantTamaño del Constraint

<= 60

Otros conceptos• Constraint Priority: prioridad, si dos constraints están en

conflictos el que tiene mayor prioridad gana

• Intrinsic Size: tamaño mínimo de un elemento (view) para que se vea completamente

• Hugging Priority: cuanto los constraint van a reducir el taño del elemento hasta tocar su Intrinsic Size

• Compression Resistance Priority: cuando varios elementos compiten por el espacio y alguno tiene que ser reducido mas allá de su Intrinsic Size, el que tenga menor prioridad sera reducido y el de mayor prioridad no lo hará

Size ClassesAny, Compact y Regular

Código para UI (antes)if (IPHONE4) { … } else if (IPHONE 5){ … } else if (IPHONE6) { … } else if (IPHONE6PLUS) { … } else if (IPAD) { … }

Código para UI usando Size Classes

if (Any) { … } else if (Regular) { … } else if (Compact) { … }

Podemos especificar diferentes orientaciones usando Horizontal Size Class y Vertical Size Class