SlideShare a Scribd company logo
1 of 38
Download to read offline
Auto Layout
It never works!
Auto Layout
Hay alguna forma de obviarlo?
Auto Layout
Hora de aprender!
Entrando al tema…
view.frame =
CGRectMake(20, 10, 50,
100);
points = resolution
points = resolution * 2
Para pantallas que soportan resolución Retina
Código para UI
if (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 Layout
Sistema descriptivo de relaciones entre elementos
Constraints
Relaciones entre elementos
Leading Constraint
A la Izquierda
Trailing Constraint
A la Derecha
Top Constraint
Arriba
Bottom Constraint
Abajo
Height and Width Constraint
Altura y Ancho
?
Constant
Tamaño del Constraint
30
Constant
Tamaño del Constraint
60
Constant
Tamaño del Constraint
= 60
Constant
Tamaño del Constraint
>= 60
Constant
Tamañ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 Classes
Any, 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
AutoLayout y Size Classes

More Related Content

More from NSCoder Mexico

More from NSCoder Mexico (20)

Aprendizaje reforzado con swift
Aprendizaje reforzado con swiftAprendizaje reforzado con swift
Aprendizaje reforzado con swift
 
In app purchase
In app purchaseIn app purchase
In app purchase
 
Ib designables
Ib designablesIb designables
Ib designables
 
Programación Orientada a Protocolos
Programación Orientada a ProtocolosProgramación Orientada a Protocolos
Programación Orientada a Protocolos
 
Interfaces en interface builder y por codigo
Interfaces en interface builder y por codigoInterfaces en interface builder y por codigo
Interfaces en interface builder y por codigo
 
Introduction Swift
Introduction SwiftIntroduction Swift
Introduction Swift
 
Dependency Managers
Dependency ManagersDependency Managers
Dependency Managers
 
Taller PaintCode
Taller PaintCodeTaller PaintCode
Taller PaintCode
 
VIPER
VIPERVIPER
VIPER
 
Core ML and Computer Vision
Core ML and Computer VisionCore ML and Computer Vision
Core ML and Computer Vision
 
Intro programacion funcional
Intro programacion funcionalIntro programacion funcional
Intro programacion funcional
 
DIY Instagram
DIY InstagramDIY Instagram
DIY Instagram
 
Mathematics en la programación
Mathematics en la programaciónMathematics en la programación
Mathematics en la programación
 
Video juegos con SpriteKit y Swift
Video juegos con SpriteKit y SwiftVideo juegos con SpriteKit y Swift
Video juegos con SpriteKit y Swift
 
Unit Testing en iOS
Unit Testing en iOSUnit Testing en iOS
Unit Testing en iOS
 
Bridgefy SDK
Bridgefy SDKBridgefy SDK
Bridgefy SDK
 
Introduction a ARToolkit
Introduction a ARToolkitIntroduction a ARToolkit
Introduction a ARToolkit
 
Diseño Agil para Desarrolladores
Diseño Agil para DesarrolladoresDiseño Agil para Desarrolladores
Diseño Agil para Desarrolladores
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Simplify your Life with Message Extensions in iOS 10
Simplify your Life with Message Extensions in iOS 10Simplify your Life with Message Extensions in iOS 10
Simplify your Life with Message Extensions in iOS 10
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

AutoLayout y Size Classes