Slide 1

Slide 1 text

Adaptive Layout Workshop Sam Davies @iwantmyrealname github.com/sammyd/adaptive-layout-workshop

Slide 2

Slide 2 text

Requirements • Xcode 6.1 • AdaptiveWeaponry sample project

Slide 3

Slide 3 text

Plan • AutoLayout refresher • Intro to size classes • Installable constraints • Handling rotation in a post-rotation world • Adaptive fonts • Configurable constraints • Installable Views

Slide 4

Slide 4 text

Auto Layout Refresher

Slide 5

Slide 5 text

Adaptive Layout

Slide 6

Slide 6 text

In the beginning there was...

Slide 7

Slide 7 text

In the beginning there was...

Slide 8

Slide 8 text

In the beginning there was...

Slide 9

Slide 9 text

In the beginning there was...

Slide 10

Slide 10 text

In the beginning there was...

Slide 11

Slide 11 text

In the beginning there was...

Slide 12

Slide 12 text

In the beginning there was... ...a total of 10 different layouts

Slide 13

Slide 13 text

in the past

Slide 14

Slide 14 text

this doesn't scale

Slide 15

Slide 15 text

introducing Adaptive Layout • Abstracts layout away from device specifics • Introducing concept of size classes • Available in iOS 8 • Fully supported in Xcode and IB

Slide 16

Slide 16 text

"amount of space available for content"

Slide 17

Slide 17 text

Size classes

Slide 18

Slide 18 text

Size classes

Slide 19

Slide 19 text

Size classes

Slide 20

Slide 20 text

Approach to adaptive layout 1. Build base layout 2. Choose size class override 3. Uninstall irrelevant constraints 4. Add new constraints specific to size class 5. Rinse and repeat

Slide 21

Slide 21 text

Let's Go!

Slide 22

Slide 22 text

Useful Links sam ⁶ @iwantmyrealname code ⁶ github.com/sammyd/adaptive-layout-workshop free book ⁶ shinobicontrols.com/ios8 competition ⁶ shinobicontrols.com/giveaway Thanks!