Slide 1

Slide 1 text

Custom iOS Controls Sam Kirchmeier [email protected] @skirchmeier Monday, May 7, 12

Slide 2

Slide 2 text

Monday, May 7, 12

Slide 3

Slide 3 text

http://finalpass.com Monday, May 7, 12

Slide 4

Slide 4 text

Monday, May 7, 12

Slide 5

Slide 5 text

Monday, May 7, 12

Slide 6

Slide 6 text

Monday, May 7, 12

Slide 7

Slide 7 text

Monday, May 7, 12

Slide 8

Slide 8 text

Topics •Customizing UINavigationBar •Customizing UIBarButtonItem •Activity Indicator View •Core Graphics •Core Animation •iOS 5 Features Monday, May 7, 12

Slide 9

Slide 9 text

Linen Monday, May 7, 12

Slide 10

Slide 10 text

Monday, May 7, 12

Slide 11

Slide 11 text

Monday, May 7, 12

Slide 12

Slide 12 text

Monday, May 7, 12

Slide 13

Slide 13 text

Monday, May 7, 12

Slide 14

Slide 14 text

Monday, May 7, 12

Slide 15

Slide 15 text

Monday, May 7, 12

Slide 16

Slide 16 text

[UIColor viewFlipsideBackgroundColor] Monday, May 7, 12

Slide 17

Slide 17 text

UINavigationBar Monday, May 7, 12

Slide 18

Slide 18 text

Options •Subclass •Category Method •Method Swizzling Monday, May 7, 12

Slide 19

Slide 19 text

Option #4 UIAppearance CENSORED Monday, May 7, 12

Slide 20

Slide 20 text

Monday, May 7, 12

Slide 21

Slide 21 text

Monday, May 7, 12

Slide 22

Slide 22 text

Subclass •UINavigationController uses UINavigationBar Monday, May 7, 12

Slide 23

Slide 23 text

Category Method •Collisions •Broad impact Monday, May 7, 12

Slide 24

Slide 24 text

Method Swizzling •Can’t always swizzle •Broad impact •Apple has rejected apps that use method_exchangeImplementations Monday, May 7, 12

Slide 25

Slide 25 text

Subclass Monday, May 7, 12

Slide 26

Slide 26 text

UIBarButtonItem Monday, May 7, 12

Slide 27

Slide 27 text

Compromise •Core Graphics is limited •iOS 5 Core Image is limited •Make the designer do it Monday, May 7, 12

Slide 28

Slide 28 text

Monday, May 7, 12

Slide 29

Slide 29 text

Benefits •Mostly device & resolution independent •Stretchable without losing detail •Works in iOS 4 & 5 Monday, May 7, 12

Slide 30

Slide 30 text

Ness Monday, May 7, 12

Slide 31

Slide 31 text

Monday, May 7, 12

Slide 32

Slide 32 text

Monday, May 7, 12

Slide 33

Slide 33 text

Monday, May 7, 12

Slide 34

Slide 34 text

Monday, May 7, 12

Slide 35

Slide 35 text

iOS 5 •Lots of new UIKit features •WWDC Video: “Customizing the Appearance of UIKit Controls” •https://developer.apple.com/videos/wwdc/ 2011/ Monday, May 7, 12

Slide 36

Slide 36 text

https://github.com/livefront/linen Monday, May 7, 12