customizing your app's appearance for ios 7

225
These are confidential sessions—please refrain from streaming, blogging, or taking pictures Session 214 Customizing Your App's Appearance for iOS 7 Jacob Xiao iOS Apps and Frameworks

Upload: dzugeek

Post on 26-Nov-2015

223 views

Category:

Documents


4 download

DESCRIPTION

How to customize your app's appearance for ios 7

TRANSCRIPT

Page 1: Customizing Your App's Appearance for iOS 7

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

Session 214

Customizing Your App's Appearance for iOS 7

Jacob XiaoiOS Apps and Frameworks

Page 2: Customizing Your App's Appearance for iOS 7

What You Will Learn

•What’s changed•Advanced customization•Making custom controls

Page 3: Customizing Your App's Appearance for iOS 7
Page 4: Customizing Your App's Appearance for iOS 7
Page 5: Customizing Your App's Appearance for iOS 7
Page 6: Customizing Your App's Appearance for iOS 7

Theming

Background ImagesResizable Images

Retina Images

Control State

Text Attributes

Bar Metrics

UIAppearance

Alignment Insets

Separating Images

Page 7: Customizing Your App's Appearance for iOS 7

What’s Changed

Page 8: Customizing Your App's Appearance for iOS 7

Status Bar

Page 9: Customizing Your App's Appearance for iOS 7

Status Bar

UIStatusBarStyleDefault

Page 10: Customizing Your App's Appearance for iOS 7

Status Bar

UIStatusBarStyleDefault

UIStatusBarStyleLightContent

Page 11: Customizing Your App's Appearance for iOS 7

Status Bar

UIStatusBarStyleDefault

UIStatusBarStyleLightContent

Page 12: Customizing Your App's Appearance for iOS 7

Status Bar

Page 13: Customizing Your App's Appearance for iOS 7

Status Bar

Page 14: Customizing Your App's Appearance for iOS 7

Status Bar

Page 15: Customizing Your App's Appearance for iOS 7

Status Bar

480 pt568 pt

320 pt 320 pt

Page 16: Customizing Your App's Appearance for iOS 7

Status Bar

480 pt568 pt

320 pt 320 pt

Page 17: Customizing Your App's Appearance for iOS 7

Status Bar

Page 18: Customizing Your App's Appearance for iOS 7

Status Bar

Page 19: Customizing Your App's Appearance for iOS 7

Status Bar

Page 20: Customizing Your App's Appearance for iOS 7

Status Bar

Page 21: Customizing Your App's Appearance for iOS 7
Page 22: Customizing Your App's Appearance for iOS 7
Page 23: Customizing Your App's Appearance for iOS 7

window.tintColor = [UIColor redColor];

Page 24: Customizing Your App's Appearance for iOS 7

Tint Color

Page 25: Customizing Your App's Appearance for iOS 7

Tint Color

Page 26: Customizing Your App's Appearance for iOS 7

Tint Color

@property(nonatomic,retain) UIColor *tintColor;

Page 27: Customizing Your App's Appearance for iOS 7

Tint Color

@property(nonatomic,retain) UIColor *tintColor;

window.tintColor = [UIColor redColor];

Page 28: Customizing Your App's Appearance for iOS 7

Bar Tint Color

Page 29: Customizing Your App's Appearance for iOS 7

Bar Tint Color

bar.tintColor = [UIColor redColor];

Page 30: Customizing Your App's Appearance for iOS 7

Bar Tint Color

Page 31: Customizing Your App's Appearance for iOS 7

Bar Tint Color

bar.tintColor = [UIColor redColor];

Page 32: Customizing Your App's Appearance for iOS 7

Bar Tint Color

bar.barTintColor = [UIColor yellowColor];

Page 33: Customizing Your App's Appearance for iOS 7

Bar Tint Color

bar.tintColor = [UIColor redColor];bar.barTintColor = [UIColor yellowColor];

Page 34: Customizing Your App's Appearance for iOS 7

Bar Tint Color

@property(nonatomic,retain) UIColor *barTintColor;

Bar Backgrounds

Page 35: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

Page 36: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

Page 37: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

44 pt

Page 38: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

44 pt

64 pt

Page 39: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

Page 40: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

Page 41: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

32 pt

Page 42: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

32 pt

52 pt

Page 43: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

Page 44: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

[bar setBackgroundImage:tallImage forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];

Page 45: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

[bar setBackgroundImage:tallImage forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];

[bar setBackgroundImage:image forBarPosition:UIBarPositionTop barMetrics:UIBarMetricsDefault];

Page 46: Customizing Your App's Appearance for iOS 7

Bar Backgrounds

[bar setBackgroundImage:tallImage forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];

[bar setBackgroundImage:image forBarPosition:UIBarPositionTop barMetrics:UIBarMetricsDefault];

[bar setBackgroundImage:image forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];

Page 47: Customizing Your App's Appearance for iOS 7

44 pt

64 pt

Bar Backgrounds

Page 48: Customizing Your App's Appearance for iOS 7

44 pt

64 pt

Bar Backgrounds

@property(nonatomic,retain) UIImage *shadowImage;

Page 49: Customizing Your App's Appearance for iOS 7

Translucency

Page 50: Customizing Your App's Appearance for iOS 7

Translucency

Normal

Page 51: Customizing Your App's Appearance for iOS 7

Translucency

Normal

Bar Tint Color

Page 52: Customizing Your App's Appearance for iOS 7

Translucency

Normal

Bar Tint Color

Custom Background

Page 53: Customizing Your App's Appearance for iOS 7

Translucency

Page 54: Customizing Your App's Appearance for iOS 7

Translucency

Page 55: Customizing Your App's Appearance for iOS 7

Translucency

Page 56: Customizing Your App's Appearance for iOS 7

Translucency

UIViewController.h

Page 57: Customizing Your App's Appearance for iOS 7

Navigation Bar

Page 58: Customizing Your App's Appearance for iOS 7

Navigation Bar

Page 59: Customizing Your App's Appearance for iOS 7

Navigation Bar

@property(nonatomic,retain) UIImage *backIndicatorImage;

Page 60: Customizing Your App's Appearance for iOS 7

Navigation Bar

@property(nonatomic,retain) UIImage *backIndicatorImage;

Page 61: Customizing Your App's Appearance for iOS 7

Navigation Bar

@property(nonatomic,retain) UIImage *backIndicatorImage;

Page 62: Customizing Your App's Appearance for iOS 7

Navigation Bar

@property(nonatomic,retain) UIImage *backIndicatorImage;

Page 63: Customizing Your App's Appearance for iOS 7

Navigation Bar

@property(nonatomic,retain) UIImage *backIndicatorTransitionMaskImage;@property(nonatomic,retain) UIImage *backIndicatorImage;

Page 64: Customizing Your App's Appearance for iOS 7

Navigation Bar

@property(nonatomic,retain) UIImage *backIndicatorTransitionMaskImage;@property(nonatomic,retain) UIImage *backIndicatorImage;

Page 65: Customizing Your App's Appearance for iOS 7

Navigation Bar

@property(nonatomic,retain) UIImage *backIndicatorTransitionMaskImage;@property(nonatomic,retain) UIImage *backIndicatorImage;

Page 66: Customizing Your App's Appearance for iOS 7

Tab Bar

Page 67: Customizing Your App's Appearance for iOS 7

Tab Bar

@property(nonatomic) UIBarStyle barStyle;

Page 68: Customizing Your App's Appearance for iOS 7

Tab Bar

@property(nonatomic) UIBarStyle barStyle;

UIBarStyleDefault

Page 69: Customizing Your App's Appearance for iOS 7

Tab Bar

@property(nonatomic) UIBarStyle barStyle;

UIBarStyleDefault UIBarStyleBlack

Page 70: Customizing Your App's Appearance for iOS 7

Tab Bar

Page 71: Customizing Your App's Appearance for iOS 7

Tab Bar

Page 72: Customizing Your App's Appearance for iOS 7

Tab Bar

@property(nonatomic,retain) UIImage *image;

Page 73: Customizing Your App's Appearance for iOS 7

Tab Bar

@property(nonatomic,retain) UIImage *image;@property(nonatomic,retain) UIImage *selectedImage;

Page 74: Customizing Your App's Appearance for iOS 7

Tab Bar

@property(nonatomic,retain) UIImage *image;@property(nonatomic,retain) UIImage *selectedImage;

Page 75: Customizing Your App's Appearance for iOS 7

Table View

Page 76: Customizing Your App's Appearance for iOS 7

Table View

Page 77: Customizing Your App's Appearance for iOS 7

Table View

Page 78: Customizing Your App's Appearance for iOS 7

Table View

Page 79: Customizing Your App's Appearance for iOS 7

Table View

@property(nonatomic,retain) UIView *selectedBackgroundView;

Page 80: Customizing Your App's Appearance for iOS 7

Buttons

Page 81: Customizing Your App's Appearance for iOS 7

Buttons

UIButtonTypeSystem

Page 82: Customizing Your App's Appearance for iOS 7

Buttons

UIButtonTypeRoundedRect

UIButtonTypeSystem

Page 83: Customizing Your App's Appearance for iOS 7

Buttons

UIButtonTypeSystem

Page 84: Customizing Your App's Appearance for iOS 7

Buttons

UIButtonTypeSystem

Page 85: Customizing Your App's Appearance for iOS 7

Buttons

pauseButton.selected = YES;

UIButtonTypeSystem

Page 86: Customizing Your App's Appearance for iOS 7

Buttons

UIButtonTypeSystem

Page 87: Customizing Your App's Appearance for iOS 7

Other Controls

Page 88: Customizing Your App's Appearance for iOS 7

Other Controls

Page 89: Customizing Your App's Appearance for iOS 7

Asset Catalog

Page 90: Customizing Your App's Appearance for iOS 7

Advanced Customization

Page 91: Customizing Your App's Appearance for iOS 7

Tint Color

Page 92: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

Page 93: Customizing Your App's Appearance for iOS 7

Tint Color

Page 94: Customizing Your App's Appearance for iOS 7

Tint Color

Page 95: Customizing Your App's Appearance for iOS 7

Tint Color

Specific Inherited

Page 96: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

Specific Inherited

Page 97: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

Specific Inherited

Page 98: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

Specific Inherited

Page 99: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

Specific Inherited

Page 100: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

window.tintColor = nil;

Specific Inherited

Page 101: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

window.tintColor = nil;

Specific Inherited

Page 102: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

window.tintColor = nil;

Specific Inherited

Page 103: Customizing Your App's Appearance for iOS 7

Tint Color

window.tintColor = [UIColor redColor];

window.tintColor = nil;

Specific Inherited

Page 104: Customizing Your App's Appearance for iOS 7

Tint Color

Specific Inherited

Page 105: Customizing Your App's Appearance for iOS 7

Tint Color

view.tintColor = [UIColor greenColor];

Specific Inherited

Page 106: Customizing Your App's Appearance for iOS 7

Tint Color

view.tintColor = [UIColor greenColor];

Specific Inherited

Page 107: Customizing Your App's Appearance for iOS 7

Tint Color

view.tintColor = [UIColor greenColor];

window.tintColor = [UIColor redColor];

Specific Inherited

Page 108: Customizing Your App's Appearance for iOS 7

Tint Color

view.tintColor = [UIColor greenColor];

window.tintColor = [UIColor redColor];

Specific Inherited

Page 109: Customizing Your App's Appearance for iOS 7
Page 110: Customizing Your App's Appearance for iOS 7

typedef NS_ENUM(NSInteger, UIViewTintAdjustmentMode) { UIViewTintAdjustmentModeAutomatic, UIViewTintAdjustmentModeNormal, UIViewTintAdjustmentModeDimmed,};

Page 111: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Page 112: Customizing Your App's Appearance for iOS 7

NormalNormal

Normal

Tint Adjustment Mode

@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode;

NormalNormal

Normal

Page 113: Customizing Your App's Appearance for iOS 7

NormalNormal

Normal

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode;

NormalNormal

NormalDimmed

Page 114: Customizing Your App's Appearance for iOS 7

NormalNormal

Normal

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode;

NormalNormal

NormalDimmed

Page 115: Customizing Your App's Appearance for iOS 7

NormalNormal

NormalDimmed

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode;

NormalDimmedNormalDimmed

NormalDimmed

Page 116: Customizing Your App's Appearance for iOS 7

NormalNormal

NormalDimmed

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode;

NormalDimmedNormalDimmed

NormalDimmed

Page 117: Customizing Your App's Appearance for iOS 7

NormalNormal

NormalDimmed

Dimmed Dimmed

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode;

NormalDimmedNormalDimmed

NormalDimmed

Page 118: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Page 119: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Page 120: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Normal

Normal

NormalNormal

NormalNormal

Page 121: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Normal

Normal

NormalNormal

NormalNormal

Auto

Auto Auto Auto

Auto Auto

Specific Inherited

Page 122: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

AutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 123: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

DimmedAutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 124: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

DimmedAutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 125: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 126: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 127: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 128: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Normal

view.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;

Specific Inherited

Page 129: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Normal Normal

view.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;

Specific Inherited

Page 130: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Normal Normal

view.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;

Specific Inherited

Page 131: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Normal Normal

Normal Normal

view.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;

Specific Inherited

Page 132: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Normal

Normal

NormalNormal

NormalNormal

Auto

Auto Auto Auto

Auto Auto

Specific Inherited

Page 133: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

AutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 134: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Specific Inherited

Page 135: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

window.tintAdjustmentMode = UIViewTintAdjustmentModeAutomatic;

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

Auto

Auto Auto Auto

Auto Auto

Specific Inherited

Page 136: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

window.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;

window.tintAdjustmentMode = UIViewTintAdjustmentModeAutomatic;

Normal

Normal

NormalNormal

NormalNormal

Auto

Auto Auto Auto

Auto Auto

Specific Inherited

Page 137: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Page 138: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Page 139: Customizing Your App's Appearance for iOS 7

Tint Adjustment Mode

Page 140: Customizing Your App's Appearance for iOS 7
Page 141: Customizing Your App's Appearance for iOS 7
Page 142: Customizing Your App's Appearance for iOS 7

Template Images

Page 143: Customizing Your App's Appearance for iOS 7

Template Images

Page 144: Customizing Your App's Appearance for iOS 7

Template Images

Page 145: Customizing Your App's Appearance for iOS 7

Template Images

Page 146: Customizing Your App's Appearance for iOS 7

Rendering ModeUIImageRenderingMode

Page 147: Customizing Your App's Appearance for iOS 7

Rendering ModeUIImageRenderingMode

Automatic AlwaysOriginal AlwaysTemplate

UIImageView

UIBarButtonItem

Page 148: Customizing Your App's Appearance for iOS 7

Rendering ModeUIImageRenderingMode

Automatic AlwaysOriginal AlwaysTemplate

UIImageView

UIBarButtonItem

Page 149: Customizing Your App's Appearance for iOS 7

Rendering ModeUIImageRenderingMode

Automatic AlwaysOriginal AlwaysTemplate

UIImageView

UIBarButtonItem

Page 150: Customizing Your App's Appearance for iOS 7

Rendering ModeUIImageRenderingMode

Automatic AlwaysOriginal AlwaysTemplate

UIImageView

UIBarButtonItem

Page 151: Customizing Your App's Appearance for iOS 7

Rendering Mode

UIImageRenderingModeAutomatic

image = [UIImage imageNamed:@”favorite”];

Page 152: Customizing Your App's Appearance for iOS 7

Rendering Mode

UIImageRenderingModeAutomatic

image = [UIImage imageNamed:@”favorite”];

item = [[UIBarButtonItem alloc] initWithImage:image ...];

Page 153: Customizing Your App's Appearance for iOS 7

Rendering Mode

UIImageRenderingModeAlwaysOriginal

image = [UIImage imageNamed:@”favorite”];image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

item = [[UIBarButtonItem alloc] initWithImage:image ...];

Page 154: Customizing Your App's Appearance for iOS 7

Rendering Mode

Page 155: Customizing Your App's Appearance for iOS 7

Rendering Mode

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage;

Page 156: Customizing Your App's Appearance for iOS 7

Rendering Mode

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage;

Page 157: Customizing Your App's Appearance for iOS 7

Rendering Mode

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage;

UIImageRenderingModeAlwaysOriginal

Page 158: Customizing Your App's Appearance for iOS 7

Rendering Mode

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage;

@property(nonatomic,retain) UIImage *image;@property(nonatomic,retain) UIImage *selectedImage;

UIImageRenderingModeAlwaysOriginal

Page 159: Customizing Your App's Appearance for iOS 7

Rendering Mode

image = [UIImage imageNamed:@”x”];

Page 160: Customizing Your App's Appearance for iOS 7

Rendering Mode

image = [UIImage imageNamed:@”x”];

backgroundImage = [UIImage imageNamed:@”segmentedBackground”];

Page 161: Customizing Your App's Appearance for iOS 7

Rendering Mode

image = [UIImage imageNamed:@”x”];image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

backgroundImage = [UIImage imageNamed:@”segmentedBackground”];

Page 162: Customizing Your App's Appearance for iOS 7

Rendering Mode

Page 163: Customizing Your App's Appearance for iOS 7

cell.imageView.image = image;

Rendering Mode

image = [UIImage imageNamed:@”victory”];

Page 164: Customizing Your App's Appearance for iOS 7

cell.imageView.image = image;

Rendering Mode

image = [UIImage imageNamed:@”victory”];image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

Page 165: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

Page 166: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIStatusBarStyle)preferredStatusBarStyle;- (BOOL)prefersStatusBarHidden;

Page 167: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIStatusBarStyle)preferredStatusBarStyle;- (BOOL)prefersStatusBarHidden;

[self setNeedsStatusBarAppearanceUpdate];

Page 168: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

Page 169: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIViewController *)childViewControllerForStatusBarStyle;- (UIViewController *)childViewControllerForStatusBarHidden;

Page 170: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIViewController *)childViewControllerForStatusBarStyle;- (UIViewController *)childViewControllerForStatusBarHidden;

[self setNeedsStatusBarAppearanceUpdate];

Page 171: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIViewController *)childViewControllerForStatusBarStyle;- (UIViewController *)childViewControllerForStatusBarHidden;

[self setNeedsStatusBarAppearanceUpdate];

Page 172: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

Page 173: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

Page 174: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

Page 175: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIStatusBarStyle)preferredStatusBarStyle{ return ([self isOver] ? UIStatusBarStyleLightContent : UIStatusBarStyleDefault);}

Page 176: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIStatusBarStyle)preferredStatusBarStyle{ return ([self isOver] ? UIStatusBarStyleLightContent : UIStatusBarStyleDefault);}

[self setNeedsStatusBarAppearanceUpdate];

Page 177: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

- (UIStatusBarStyle)preferredStatusBarStyle{ return ([self isOver] ? UIStatusBarStyleLightContent : UIStatusBarStyleDefault);}

[self setNeedsStatusBarAppearanceUpdate];

[UIView animateWithDuration:0.5 animations:^{ // Update necessary state [self updateBackgroundColor];

}];

Page 178: Customizing Your App's Appearance for iOS 7

View Controller Based Status Bar

Page 179: Customizing Your App's Appearance for iOS 7

Making Custom Controls

Page 180: Customizing Your App's Appearance for iOS 7
Page 181: Customizing Your App's Appearance for iOS 7
Page 182: Customizing Your App's Appearance for iOS 7

Rating Control

Page 183: Customizing Your App's Appearance for iOS 7

Rating Control

Page 184: Customizing Your App's Appearance for iOS 7

UIImageView

UILabel keypad

Page 185: Customizing Your App's Appearance for iOS 7

UIImageView

UILabel keypad

Page 186: Customizing Your App's Appearance for iOS 7

UIButtonUIButton

Page 187: Customizing Your App's Appearance for iOS 7

UIButtonUIButton UIImageView

Page 188: Customizing Your App's Appearance for iOS 7
Page 189: Customizing Your App's Appearance for iOS 7
Page 190: Customizing Your App's Appearance for iOS 7

UIImageView

Page 191: Customizing Your App's Appearance for iOS 7

UIButton

UIImageView

Page 192: Customizing Your App's Appearance for iOS 7

UIButton

UIImageView

button.selected = YES;

Page 193: Customizing Your App's Appearance for iOS 7

Customizing UIButton

UIButtonTypeCustom

Page 194: Customizing Your App's Appearance for iOS 7

- (CGRect)backgroundRectForBounds:(CGRect)bounds;- (CGRect)titleRectForContentRect:(CGRect)contentRect;- (CGRect)imageRectForContentRect:(CGRect)contentRect;

Customizing UIButton

UIButtonTypeCustom

Page 195: Customizing Your App's Appearance for iOS 7

Dynamic Images

Page 196: Customizing Your App's Appearance for iOS 7

UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);// DrawingUIImage *image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();

Dynamic Images

Page 197: Customizing Your App's Appearance for iOS 7

UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);// DrawingUIImage *image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();imageView.image = image;

Dynamic Images

Page 198: Customizing Your App's Appearance for iOS 7

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

imageView.image = image;

Dynamic Images

Page 199: Customizing Your App's Appearance for iOS 7

Dynamic Images

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

imageView.image = image;

Page 200: Customizing Your App's Appearance for iOS 7

Dynamic Images

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

imageView.image = image;

Page 201: Customizing Your App's Appearance for iOS 7

Dynamic Images

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

imageView.image = image;

image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(...)];

Page 202: Customizing Your App's Appearance for iOS 7

Sending Actions

@interface TTTRatingControl : UIControl

Page 203: Customizing Your App's Appearance for iOS 7

Sending Actions

- (void)touchButton:(UIButton *)button{ self.rating = button.tag; [self sendActionsForControlEvents:UIControlEventValueChanged];}

@interface TTTRatingControl : UIControl

Page 204: Customizing Your App's Appearance for iOS 7

Sending Actions

- (void)touchButton:(UIButton *)button{ self.rating = button.tag; [self sendActionsForControlEvents:UIControlEventValueChanged];}

@interface TTTRatingControl : UIControl

[ratingControl addTarget:self action:@selector(changeRating:) forControlEvents:UIControlEventValueChanged];

Page 205: Customizing Your App's Appearance for iOS 7

Count View

Page 206: Customizing Your App's Appearance for iOS 7

Count View

Page 207: Customizing Your App's Appearance for iOS 7

- (void)drawRect:(CGRect)rect{ [[self tintColor] set]; // Drawing}

Page 208: Customizing Your App's Appearance for iOS 7

Tint Color

Page 209: Customizing Your App's Appearance for iOS 7

Tint Color

- (void)tintColorDidChange;

Page 210: Customizing Your App's Appearance for iOS 7

Tint Color

- (void)tintColorDidChange;

Page 211: Customizing Your App's Appearance for iOS 7

Tint Color

Normal

Normal

NormalNormal

NormalNormal

Auto

Auto Auto Auto

Auto Auto

Normal

- (void)tintColorDidChange;

Page 212: Customizing Your App's Appearance for iOS 7

Tint Color

Normal

Normal

NormalNormal

NormalNormal

Dimmed

DimmedDimmed Dimmed

Dimmed Dimmed

AutoDimmed

Auto Auto Auto

Auto Auto

Normal

- (void)tintColorDidChange;

Page 213: Customizing Your App's Appearance for iOS 7

- (void)tintColorDidChange{ [super tintColorDidChange]; [self setNeedsDisplayInRect:[self rectForCount:self.count]];}

Page 214: Customizing Your App's Appearance for iOS 7
Page 215: Customizing Your App's Appearance for iOS 7
Page 216: Customizing Your App's Appearance for iOS 7

- (void)tintColorDidChange{ [super tintColorDidChange]; self.detailTextLabel.textColor = self.tintColor;}

Page 217: Customizing Your App's Appearance for iOS 7

Accessibility

Page 218: Customizing Your App's Appearance for iOS 7

Accessibility

- (BOOL)isAccessibilityElement{ return NO;}

Page 219: Customizing Your App's Appearance for iOS 7

Accessibility

- (BOOL)isAccessibilityElement{ return NO;}

[button setAccessibilityLabel:[NSString stringWithFormat: NSLocalizedString(@"%d stars", @"%d stars"), rating + 1]];

Page 220: Customizing Your App's Appearance for iOS 7

Accessibility

- (BOOL)isAccessibilityElement{ return YES;}

Page 221: Customizing Your App's Appearance for iOS 7

Accessibility

- (BOOL)isAccessibilityElement{ return YES;}- (UIAccessibilityTraits)accessibilityTraits{ return UIAccessibilityTraitImage;}

Page 222: Customizing Your App's Appearance for iOS 7

Accessibility

- (BOOL)isAccessibilityElement{ return YES;}- (UIAccessibilityTraits)accessibilityTraits{ return UIAccessibilityTraitImage;}- (NSString *)accessibilityLabel{ return [NSString stringWithFormat:@"%d", self.count];}

Page 223: Customizing Your App's Appearance for iOS 7

Demo

Page 224: Customizing Your App's Appearance for iOS 7

Summary

•What’s changed•Advanced customization•Making custom controls

Page 225: Customizing Your App's Appearance for iOS 7