Slide 1

Slide 1 text

BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND HUGUES BERNET-ROLLANDE @ROMPELSTILCHEN GITHUB.COM/HUGUESBR CHIEF SOFTWARE OFFICER @ WIRED BEAUTY 1

Slide 2

Slide 2 text

BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND @rompelstilchen A WORKMAN IS AS GOOD AS HIS TOOLS @rompelstilchen 2 Some wise man

Slide 3

Slide 3 text

@rompelstilchen 3 @rompelstilchen

Slide 4

Slide 4 text

BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND @rompelstilchen A DEVELOPER IS AS GOOD AS HIS ABILITY TO IMPROVE HIS TOOLS Hugues Bernet-Rollande 4

Slide 5

Slide 5 text

WHY? BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUNDS 5 @rompelstilchen

Slide 6

Slide 6 text

6 @rompelstilchen

Slide 7

Slide 7 text

CAMEDIATIMINGFUNCTIONCONTROL BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND 7 @rompelstilchen

Slide 8

Slide 8 text

@rompelstilchen 8 @rompelstilchen @rompelstilchen

Slide 9

Slide 9 text

BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND USING THE CAMEDIATIMINGFUNCTIONCONTROL import XCPlayground // canvas let view = UIView() XCPlaygroundPage.currentPage.liveView = view // sampleView view.addSubview(SampleView()) // custom built CAMediaTimingFunctionControl let mediaTimingControl = CAMediaTimingFunctionControl() view.addSubview(mediaTimingControl) // update sample view timing function on change mediaTimingControl.onValueDidChange = { sampleView.timingFunction = $0 } 9 @rompelstilchen

Slide 10

Slide 10 text

VIEW RESIZER BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND 10 @rompelstilchen

Slide 11

Slide 11 text

@rompelstilchen 11 @rompelstilchen @rompelstilchen

Slide 12

Slide 12 text

BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND USING RESIZER CONTROL import XCPlayground // canvas let view = UIView() XCPlaygroundPage.currentPage.liveView = view // resize control let resizableView = ResizableView() view.addSubview(resizableView) // sampleView resizableView.contentView = SampleView() 12 @rompelstilchen

Slide 13

Slide 13 text

CAVEATS BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND 13 @rompelstilchen

Slide 14

Slide 14 text

BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND @rompelstilchen CAVEATS ▸Playground are slow and unstable ▸Copy/paste of code (your view) ▸Need to (sometime) adapt your view 14

Slide 15

Slide 15 text

WHAT’S NEXT? BUILD YOUR UI DEVELOPER TOOLBOX IN SWIFT PLAYGROUND 15 @rompelstilchen

Slide 16

Slide 16 text

iPad Swift Playground NSDateFormatter Rulers LoremLipsum X C A s s e t s C o l o r W h e e l C u s t o m T r a n s i t i o n e r r o r e t c a n i m a t i o n s l i d e r A p p I c o n Generator random color include incomplete gradient issue missing AnimationSequencer Sequence Generator number Curve Alternate 16

Slide 17

Slide 17 text

THANK YOU! PRESENTATION AVAILABLE AT: HTTP://BIT.LY/225SIBM HUGUES BERNET-ROLLANDE @ROMPELSTILCHEN GITHUB.COM/HUGUESBR CSO ENGINEER @ WIRED BEAUTY 17