building ui for ios 7

206
These are confidential sessions—please refrain from streaming, blogging, or taking pictures Session 201 Building User Interfaces for iOS 7 Jason Beaver and Andy Matuschak iOS Apps and Frameworks

Upload: dzugeek

Post on 20-Oct-2015

85 views

Category:

Documents


0 download

DESCRIPTION

This is about how to build UI in iOS 7

TRANSCRIPT

Page 1: Building UI for iOS 7

These are confidential sessions—please refrain from streaming, blogging, or taking pictures

Session 201

Building User Interfaces for iOS 7

Jason Beaver and Andy MatuschakiOS Apps and Frameworks

Page 2: Building UI for iOS 7

Design Themes

Page 3: Building UI for iOS 7

ClarityDesign Themes

Page 4: Building UI for iOS 7

DeferenceDesign Themes

Page 5: Building UI for iOS 7

DepthDesign Themes

Page 6: Building UI for iOS 7
Page 7: Building UI for iOS 7
Page 8: Building UI for iOS 7

Dynamic Type

Page 9: Building UI for iOS 7

Dynamic Type

• Specifies fonts semantically

Page 10: Building UI for iOS 7

Dynamic Type

• Specifies fonts semantically• Supports user text sizing

Page 11: Building UI for iOS 7

Dynamic Type

• Specifies fonts semantically• Supports user text sizing• Optimized for legibility

Page 12: Building UI for iOS 7

Dynamic Type

• Specifies fonts semantically• Supports user text sizing• Optimized for legibility• Supports accessibility sizes and enhancements

Page 13: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Page 14: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsum

Page 15: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsum

Page 16: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsum

Page 17: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Page 18: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum Lorem ipsum

Page 19: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum Lorem ipsum

Page 20: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum Lorem ipsum

Page 21: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Page 22: Building UI for iOS 7

Dynamic Type

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum

Lorem ipsumLorem ipsumLorem ipsum

Page 23: Building UI for iOS 7

Text StylesDynamic Type

Page 24: Building UI for iOS 7

Text StylesDynamic Type

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Page 25: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Text StylesDynamic Type

Page 26: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

+[UIFont preferredFontForTextStyle:]

UIFontTextStyleHeadline1

UIFontTextStyleHeadline2

UIFontTextStyleBody

UIFontTextStyleSubheadline1

UIFontTextStyleSubheadline2

UIFontTextStyleFootnote

UIFontTextStyleCaption1

UIFontTextStyleCaption2

Text StylesDynamic Type

Page 27: Building UI for iOS 7

Text SizesDynamic Type

Page 28: Building UI for iOS 7

Headline 1Headline 2Subheadline 1Subheadline 2

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

L

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1

Text SizesDynamic Type

Page 29: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XS

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

S

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

M

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

L

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XL

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XXL

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XXXL

Text SizesDynamic Type

Page 30: Building UI for iOS 7

Extra Small

Page 31: Building UI for iOS 7

Small

Page 32: Building UI for iOS 7

Medium

Page 33: Building UI for iOS 7

Large

Page 34: Building UI for iOS 7

Extra Large

Page 35: Building UI for iOS 7

Extra Extra Large

Page 36: Building UI for iOS 7

Extra Extra Extra Large

Page 37: Building UI for iOS 7

Accessibility Text SizesDynamic Type

Page 38: Building UI for iOS 7

Accessibility Medium

Page 39: Building UI for iOS 7

Accessibility Large

Page 40: Building UI for iOS 7

Accessibility Extra Large

Page 41: Building UI for iOS 7

Accessibility Extra Extra Large

Page 42: Building UI for iOS 7

Accessibility Extra Extra Extra Large

Page 43: Building UI for iOS 7

Text LegibilityDynamic Type

Page 44: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XS

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

S

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

M

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

L

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XL

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XXL

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

XXXL

Text LegibilityDynamic Type

Page 45: Building UI for iOS 7
Page 46: Building UI for iOS 7
Page 47: Building UI for iOS 7
Page 48: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Text Style VariantsDynamic Type

Page 49: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Text Style VariantsDynamic Type

Page 50: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Regular

Text Style VariantsDynamic Type

Page 51: Building UI for iOS 7

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Regular

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Bold

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Italic

Text Style VariantsDynamic Type

Page 52: Building UI for iOS 7

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod

Regular

Text Style VariantsDynamic Type

Page 53: Building UI for iOS 7

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod

Regular

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh

Loose

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut

Tight

Text Style VariantsDynamic Type

Page 54: Building UI for iOS 7

Dynamic Type

Page 55: Building UI for iOS 7

Dynamic Type

Headline 1Headline 2

Body

Subheadline 1Subheadline 2

FootnoteCaption 1Caption 2

Page 56: Building UI for iOS 7

Dynamic Type

Page 57: Building UI for iOS 7

Dynamic Type

Page 58: Building UI for iOS 7

Dynamic Type

Page 59: Building UI for iOS 7

Dynamic Type

+[UIFont preferredFontForTextStyle:]

Page 60: Building UI for iOS 7

Letterpress

Page 61: Building UI for iOS 7
Page 62: Building UI for iOS 7
Page 63: Building UI for iOS 7
Page 64: Building UI for iOS 7
Page 65: Building UI for iOS 7

Letterpress

Page 66: Building UI for iOS 7

Letterpress

NSAttributedString *letterpressString = [[NSAttributedString alloc] initWithString: @"Letterpress" attributes: @{NSTextEffectsAttributeName : NSTextEffectsLetterpressStyle}];

Page 67: Building UI for iOS 7

Kerning and Ligatures

Page 68: Building UI for iOS 7

Kerning and Ligatures

T witter

Page 69: Building UI for iOS 7

Kerning and Ligatures

TwitterT witter

Page 70: Building UI for iOS 7

Kerning and Ligatures

TwitterT witter Shuf f le

Page 71: Building UI for iOS 7

Kerning and Ligatures

ShuffleTwitterT witter Shuf f le

Page 72: Building UI for iOS 7

Kerning and Ligatures

!

ShuffleTwitterT witter Shuf f le

Page 73: Building UI for iOS 7

Kerning and Ligatures

!

ShuffleTwitterT witter Shuf f le

Que di#es

Page 74: Building UI for iOS 7
Page 75: Building UI for iOS 7

Text Kit

Page 76: Building UI for iOS 7

Text Kit

CoreGraphics

String DrawingAttributed String Drawing WebKit

CoreText

TextKit

Page 77: Building UI for iOS 7

Text Kit

CoreGraphics

String DrawingAttributed String Drawing WebKit

CoreText

TextKit

UILabel UITextField UITextView UIWebView

Page 78: Building UI for iOS 7

Lorem ipsum dolor sit amet

Anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux copy wipont trenz kipg naar mixent opher phona. Cak pwico siructiun ruos nustap oply tyu cak UCU sisulutiun munit yuw uw cak jot scannow. Trens roxas eis ti Plokeing quert loppe eis yop prexs. Piy opher awers, eit yaggles orn ti sumbloat alohe plok. Su havo loasor cakso tgu pwuructs tyu, ghu gill nug bo suloly sispunsiblo fuw cakiw salo anr ristwibutiun. Hei muk cakso neme eis loppe.

Treas em wankeing ont sime ploked peish rof phen sumbloat syug si phat phey gavet peish ta paat ein pheeir sumbloats. Aslu unaffoctor gef cak siructiun gill bo cak spiarshoot anet cak GurGanglo gur pwucossing pwutwam. Ghat dodtos, ig pany, gill bo maro tyu ucakw suftgasi pwuructs hod yot tyubo rotowminor. Plloaso mako nuto uf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook proudgs hus yag su ba dagarmidad. Ut enim ad minim veniam, quis nostrud exerc.

Lorem ipsum dolor sit amet

Kaap zux copy wipont trenz kipg naar mix ent phona. Cak pwico siructiun ruos nust apoply tyu cak UCU sisulutiun munityuw uw cak jot scannow. Trens roxas eis ti Plok eing quert loppe eis yop prexs. Piy opher hawers, eit yaggles orn ti sumbloat alohe plok. Su havo cakso tgu pwuructs tyu.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod tempor inci dunt et labore et dolore magna aliquam. Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod tempor ti sumbloat alohe plok. Su havo loasor cakso tgu pwuructs tyu, ghu gill nug bo suloly sispunsiblo fuw cakiw salo anr ristwibutiun. Hei muk cakso neme eis loppe.

Treas em wankeing ont sime ploked peish rof phen sumbloat syug si phat phey gavet peish ta paat ein pheeir sumbloats. Aslu unaffoctor gef cak siructiun gill bo cak spiarshoot anet cak GurGanglo gur pwucossing pwutwam. Ghat dodtos, ig pany, gill bo maro tyu ucakw.

Page 79: Building UI for iOS 7

Maecenas pulvinar sagittis enim

Lorem ipsum dolor sit amet, ligula suspendisse nulla pretium, rhoncus tempor placerat fermentum, enim integer ad volutpat. Nisl rhoncus turpis est, vel elit, congue wisi enim nunc ultricies sit, magna tincidunt. Maecenas aliquam maecenas ligula nostra, accumsan taciti. Lorem ipsum dolor sit amet, ligula suspendisse nulla pretium, rhoncus tempor placerat. Lorem ipsum dolor sit amet, ligula suspendisse nulla pretium, Nisl rhoncus congue.

Lorem Ipsum Dolor AhmetLorem ipsum dolor sit amet

Anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux copy wipont trenz kipg naar mixent opher phona. Cak pwico siructiun ruos nustap oply tyu cak UCU sisulutiun munit yuw uw cak jot scannow. Trens roxas eis ti Plokeing quert loppe eis yop prexs. Piy opher awers, eit yaggles orn ti sumbloat alohe plok. Su havo loasor cakso tgu pwuructs tyu, ghu gill nug bo suloly sispunsiblo fuw cakiw salo anr ristwibutiun. Hei muk cakso neme eis loppe.

Treas em wankeing ont sime ploked peish rof phen sumbloat syug si phat phey gavet peish ta paat ein pheeir sumbloats. Aslu unaffoctor gef cak siructiun gill bo cak spiarshoot anet cak GurGanglo gur pwucossing pwutwam. Ghat dodtos, ig pany, gill bo maro tyu ucakw suftgasi pwuructs hod yot tyubo rotowminor. Plloaso mako nuto uf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook proudgs hus yag su ba dagarmidad. Ut enim ad minim veniam, quis nostrud exerc.

Lorem ipsum dolor sit amet

Kaap zux copy wipont trenz kipg naar mix ent phona. Cak pwico siructiun ruos nust

apoply tyu cak UCU sisulutiun munityuw uw cak jot scannow. Trens

roxas eis ti Plok eing quert loppe eis yop prexs. Piy opher hawers, eit yaggles orn

ti sumbloat alohe plok. Su havo cakso tgu pwuructs tyu.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod tempor inci dunt et labore et dolore magna aliquam. Lorem ipsum

dolor sit amet, consectetur adipiscing elit, set eiusmod tempor ti sumbloat alohe plok. Su havo loasor cakso tgu pwuructs tyu, ghu gill nug bo suloly sispunsiblo fuw cakiw salo anr ristwibutiun. Hei muk cakso neme eis loppe.

Treas em wankeing ont sime ploked peish rof phen sumbloat syug si phat phey gavet peish ta paat ein pheeir sumbloats. Aslu unaffoctor gef cak siructiun gill bo cak spiarshoot anet cak GurGanglo gur pwucossing pwutwam. Ghat

Lorem Ipsum DolorLorem Ipsum DolorLorem Ipsum Dolor

Eiusmod Mnuit Dodtos

Lorem ••• 125

Ipsum •• 145

Dolor ••• 265

Ahmet •••• 290

Page 80: Building UI for iOS 7

Advanced Text Layouts and Effects with Text Kit MissionThursday 2:00PM

Introducing Text Kit PresidioWednesday 2:00PM

Using Fonts with Text Kit PresidioFriday 9:00AM

Page 81: Building UI for iOS 7

Building User Interfaces for iOS 7

Andy MatuschakiOS Apps and Frameworks

Page 82: Building UI for iOS 7
Page 83: Building UI for iOS 7
Page 84: Building UI for iOS 7
Page 85: Building UI for iOS 7

iOS 6 iOS 7

New Defaults for Full Screen Content

Page 86: Building UI for iOS 7

iOS 6 iOS 7

Positioned below bars Underlaps bars

New Defaults for Full Screen ContentView controller layout

Page 87: Building UI for iOS 7

iOS 6 iOS 7

Opaque Transparent, Blurred

New Defaults for Full Screen ContentView controller bar styles

Page 88: Building UI for iOS 7

iOS 6 iOS 7

Tinted background No background

New Defaults for Full Screen ContentStatus bar styles

Page 89: Building UI for iOS 7

iOS 6 iOS 7

None Automatic

New Defaults for Full Screen ContentScroll view content inset adjustments

contentInsets.top = 64

Page 90: Building UI for iOS 7
Page 91: Building UI for iOS 7
Page 92: Building UI for iOS 7

-[UIViewController extendedEdgesForLayout]

Page 93: Building UI for iOS 7

-[UIViewController extendedEdgesForLayout]UIExtendedEdgesAll

Page 94: Building UI for iOS 7

-[UIViewController extendedEdgesForLayout]UIExtendedEdgesAll

Page 95: Building UI for iOS 7

-[UIViewController extendedEdgesForLayout]UIExtendedEdgesNone

Page 96: Building UI for iOS 7

-[UIViewController extendedEdgesForLayout]UIExtendedEdgesNone

Page 97: Building UI for iOS 7
Page 98: Building UI for iOS 7
Page 99: Building UI for iOS 7

67 pt

55 pt

Page 100: Building UI for iOS 7

-[UIViewController topLayoutGuide]-[UIViewController bottomLayoutGuide]

Page 101: Building UI for iOS 7

@"V:[topLayoutGuide]-3-[HDR]"

Page 102: Building UI for iOS 7

Status Bar Styles

Page 103: Building UI for iOS 7

Status Bar Styles

UIStatusBarStyleDefault

Page 104: Building UI for iOS 7

Status Bar Styles

UIStatusBarStyleDefault

UIStatusBarStyleLightContent

Page 105: Building UI for iOS 7

Status Bar Styles

UIStatusBarStyleDefault

UIStatusBarStyleLightContentUIStatusBarStyleBlackTranslucent

UIStatusBarStyleBlackOpaque

Page 106: Building UI for iOS 7

Status Bar StylesDeclarative specification API

@interface UIViewController- (UIStatusBarStyle)preferredStatusBarStyle;- (BOOL)prefersStatusBarHidden;@end

Page 107: Building UI for iOS 7

Status Bar StylesDeclarative specification API

@interface UIViewController- (UIStatusBarStyle)preferredStatusBarStyle;- (BOOL)prefersStatusBarHidden;@end

• Enabled via Info.plist key: UIViewControllerBasedStatusBarAppearance

Page 108: Building UI for iOS 7
Page 109: Building UI for iOS 7
Page 110: Building UI for iOS 7

-[UINavigationController interactivePopGestureRecognizer]

Page 111: Building UI for iOS 7
Page 112: Building UI for iOS 7
Page 113: Building UI for iOS 7
Page 114: Building UI for iOS 7
Page 115: Building UI for iOS 7
Page 116: Building UI for iOS 7
Page 117: Building UI for iOS 7

UICollectionViewController

YearLayout UICollectionView

Page 118: Building UI for iOS 7

UICollectionViewController

YearLayout UICollectionView

UINavigationController

Page 119: Building UI for iOS 7

UICollectionViewController UICollectionViewController

YearLayout UICollectionView CollectionsLayout

UINavigationController

Page 120: Building UI for iOS 7

UICollectionViewController UICollectionViewController

YearLayout UICollectionView CollectionsLayout

UINavigationController

-[UICollectionViewControllerusesLayoutToLayoutNavigationTransitions]

Page 121: Building UI for iOS 7

UICollectionViewController UICollectionViewController

YearLayout UICollectionView CollectionsLayout

UINavigationController

-[UICollectionViewControllerusesLayoutToLayoutNavigationTransitions]

Page 122: Building UI for iOS 7

UICollectionViewController UICollectionViewController

YearLayout UICollectionView CollectionsLayout

UINavigationController

-[UICollectionViewControllerusesLayoutToLayoutNavigationTransitions]

Page 123: Building UI for iOS 7

UICollectionViewController UICollectionViewController

YearLayout UICollectionView CollectionsLayout

UINavigationController

-[UICollectionViewControllerusesLayoutToLayoutNavigationTransitions]

Page 124: Building UI for iOS 7

UICollectionViewController UICollectionViewController

YearLayout UICollectionView CollectionsLayout

UINavigationController

-[UICollectionViewControllerusesLayoutToLayoutNavigationTransitions]

Page 125: Building UI for iOS 7

Custom Transitions Using View Controllers Pacific HeightsThursday 11:30AM

Page 126: Building UI for iOS 7
Page 127: Building UI for iOS 7
Page 128: Building UI for iOS 7
Page 129: Building UI for iOS 7

-[UIView tintColor]

Page 130: Building UI for iOS 7
Page 131: Building UI for iOS 7
Page 132: Building UI for iOS 7
Page 133: Building UI for iOS 7
Page 134: Building UI for iOS 7

-[UIView tintColorDidChange]

Page 135: Building UI for iOS 7

Customizing Your App’s Appearance for iOS 7 PresidioWednesday 3:15PM

Page 136: Building UI for iOS 7

Building User Interfaces for iOS 7

Jason BeaveriOS Apps and Frameworks

Page 137: Building UI for iOS 7

Table Views

Page 138: Building UI for iOS 7
Page 139: Building UI for iOS 7
Page 140: Building UI for iOS 7
Page 141: Building UI for iOS 7

-[UITableViewCell separatorInset]

Page 142: Building UI for iOS 7

Alert Views

Page 143: Building UI for iOS 7

Alert Views

Page 144: Building UI for iOS 7

Alert Views

UIView *contentView

Page 145: Building UI for iOS 7

ButtonsControls

Page 146: Building UI for iOS 7

ButtonsControls

typedef enum UIButtonType { UIButtonTypeCustom = 0, UIButtonTypeSystem, // new in iOS 7 ... UIButtonTypeRoundedRect};

Page 147: Building UI for iOS 7

ButtonsControls

typedef enum UIButtonType { UIButtonTypeCustom = 0, UIButtonTypeSystem, // new in iOS 7 ... UIButtonTypeRoundedRect};

typedef enum UIBarButtonItemStyle { UIBarButtonItemStylePlain, UIBarButtonItemStyleBordered, UIBarButtonItemStyleDone,};

Page 148: Building UI for iOS 7

Segmented controls and steppersControls

Page 149: Building UI for iOS 7

Segmented controls and steppersControls

@interface UISegmentedControl@property UISegmentedControlStyle segmentedControlStyle@end

Page 150: Building UI for iOS 7

Segmented controls and steppersControls

@interface UISegmentedControl@property UISegmentedControlStyle segmentedControlStyle@end

Page 151: Building UI for iOS 7

Segmented controls and steppersControls

@interface UISegmentedControl@property UISegmentedControlStyle segmentedControlStyle@end

Page 152: Building UI for iOS 7

Switches and slidersControls

Page 153: Building UI for iOS 7

Switches and slidersControls

• Use autolayout to cope with metrics changes

Page 154: Building UI for iOS 7

Picker viewsControls

Page 155: Building UI for iOS 7

Picker viewsControls

• Avoid using as a UIInputView• Present inline instead

Page 156: Building UI for iOS 7

Picker viewsControls

• Avoid using as a UIInputView• Present inline instead

Page 157: Building UI for iOS 7

Search fieldsControls

Page 158: Building UI for iOS 7

Search fieldsControls

@interface UISearchDisplayController@property BOOL displaysSearchBarInNavigationBar;@property UINavigationItem *navigationItem;@end

Page 159: Building UI for iOS 7

Adaptive Multitasking

Page 160: Building UI for iOS 7

Adaptive Multitasking

Page 161: Building UI for iOS 7

What’s New with Multitasking PresidioTuesday 2:00PM

Page 162: Building UI for iOS 7

Building User Interfaces for iOS 7

Andy MatuschakiOS Apps and Frameworks

Page 163: Building UI for iOS 7
Page 164: Building UI for iOS 7
Page 165: Building UI for iOS 7

UIKit Dynamics

Page 166: Building UI for iOS 7
Page 167: Building UI for iOS 7
Page 168: Building UI for iOS 7
Page 169: Building UI for iOS 7
Page 170: Building UI for iOS 7

Getting Started with UIKit Dynamics PresidioTuesday 4:30PM

Advanced Techniques with UIKit Dynamics PresidioThursday 3:15PM

Exploring Scroll Views on iOS 7 PresidioThursday 10:15AM

Page 171: Building UI for iOS 7
Page 172: Building UI for iOS 7
Page 173: Building UI for iOS 7
Page 174: Building UI for iOS 7
Page 175: Building UI for iOS 7
Page 176: Building UI for iOS 7

Motion Effects

Page 177: Building UI for iOS 7
Page 178: Building UI for iOS 7
Page 179: Building UI for iOS 7
Page 180: Building UI for iOS 7

Implementing Engaging UI on iOS MissionFriday 11:30AM

Page 181: Building UI for iOS 7
Page 182: Building UI for iOS 7
Page 183: Building UI for iOS 7
Page 184: Building UI for iOS 7
Page 185: Building UI for iOS 7

-[UIView drawHierarchyInRect:]

Page 186: Building UI for iOS 7

Implementing Engaging UI on iOS MissionFriday 11:30AM

Page 187: Building UI for iOS 7

Adapting Your App for iOS 7

Page 188: Building UI for iOS 7

At a high levelAdapting Your App for iOS 7

Page 189: Building UI for iOS 7

At a high levelAdapting Your App for iOS 7

• Focus on core functionality

Page 190: Building UI for iOS 7

At a high levelAdapting Your App for iOS 7

• Focus on core functionality• Exalt it

Page 191: Building UI for iOS 7

At a high levelAdapting Your App for iOS 7

• Focus on core functionality• Exalt it• Breathe new life

Page 192: Building UI for iOS 7

At a high levelAdapting Your App for iOS 7

• Focus on core functionality• Exalt it• Breathe new life• Consider Retina’s possibilities

Page 193: Building UI for iOS 7

On an API levelAdapting Your App for iOS 7

Page 194: Building UI for iOS 7

On an API levelAdapting Your App for iOS 7

• Adopt new text APIs

Page 195: Building UI for iOS 7

On an API levelAdapting Your App for iOS 7

• Adopt new text APIs• Ensure view controllers are full screen

Page 196: Building UI for iOS 7

On an API levelAdapting Your App for iOS 7

• Adopt new text APIs• Ensure view controllers are full screen• Incorporate adaptive multitasking

Page 197: Building UI for iOS 7

On an API levelAdapting Your App for iOS 7

• Adopt new text APIs• Ensure view controllers are full screen• Incorporate adaptive multitasking• Create fluid view controller and collection view transitions

Page 198: Building UI for iOS 7

On an API levelAdapting Your App for iOS 7

• Adopt new text APIs• Ensure view controllers are full screen• Incorporate adaptive multitasking• Create fluid view controller and collection view transitions• Consider dynamics and motion effects

Page 199: Building UI for iOS 7

Supporting both iOS 6 and iOS 7Adapting Your App for iOS 7

Page 200: Building UI for iOS 7

Supporting both iOS 6 and iOS 7Adapting Your App for iOS 7

• Use the iOS 7 UI Transition Guide

Page 201: Building UI for iOS 7

Supporting both iOS 6 and iOS 7Adapting Your App for iOS 7

• Use the iOS 7 UI Transition Guide• Autolayout will help

Page 202: Building UI for iOS 7

Supporting both iOS 6 and iOS 7Adapting Your App for iOS 7

• Use the iOS 7 UI Transition Guide• Autolayout will help• Consider backporting a new design

Page 203: Building UI for iOS 7

More Information

Jake BehrensUI Frameworks [email protected]

DocumentationiOS 7 UI Transition Guidehttp://developer.apple.com/ios

Apple Developer Forumshttp://devforums.apple.com

Page 204: Building UI for iOS 7

Related Sessions

What’s New in Cocoa Touch PresidioTuesday 11:30AM

What’s New with Multitasking PresidioTuesday 2:00PM

Introducing Text Kit PresidioWednesday 2:00PM

Customizing Your App’s Appearance for iOS 7 PresidioWednesday 3:15PM

Custom Transitions Using View Controllers Pacific HeightsThursday 11:30AM

Getting Started with UIKit Dynamics PresidioTuesday 4:30PM

Page 205: Building UI for iOS 7

Related Labs

Cocoa Touch Lab Frameworks Lab ATuesday 4:30PM

Adapting Your Apps for iOS 7 Lab Frameworks Lab BWednesday 11:30AM

UIKit Dynamic Lab Frameworks Lab AWednesday 4:30PM

Text Kit and Core Text Lab Frameworks Lab BWednesday 4:30PM

Appearance Customization for iOS Lab Frameworks Lab BThursday 9:00AM

Cocoa Touch Animation Lab Frameworks Lab BThursday 2:00PM

Page 206: Building UI for iOS 7