Created
January 28, 2014 04:49
-
-
Save keicoder/8662418 to your computer and use it in GitHub Desktop.
objective-c : UIKit Customization (navBar, barButton, slider, etc)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//UIKit Customization | |
//.h | |
- (void)customizeAppearance; | |
//.m | |
- (void)customizeAppearance | |
{ | |
// Create resizable images | |
UIImage *gradientImage44 = [[UIImage imageNamed:@"surf_gradient_textured_44"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; | |
UIImage *gradientImage32 = [[UIImage imageNamed:@"surf_gradient_textured_32"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; | |
// Set the background image for *all* UINavigationBars | |
[[UINavigationBar appearance] setBackgroundImage:gradientImage44 | |
forBarMetrics:UIBarMetricsDefault]; | |
[[UINavigationBar appearance] setBackgroundImage:gradientImage32 | |
forBarMetrics:UIBarMetricsLandscapePhone]; | |
// Customize the title text for *all* UINavigationBars | |
[[UINavigationBar appearance] setTitleTextAttributes: | |
[NSDictionary dictionaryWithObjectsAndKeys: | |
[UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0], | |
UITextAttributeTextColor, | |
[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8], | |
UITextAttributeTextShadowColor, | |
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)], | |
UITextAttributeTextShadowOffset, | |
[UIFont fontWithName:@"Arial-Bold" size:0.0], | |
UITextAttributeFont, | |
nil]]; | |
// Customizing the NavBar Shadow | |
[[UINavigationBar appearance] setShadowImage:[UIImage imageNamed:@"navBarShadow"]]; | |
// Customizing the NavBar Buttons | |
UIImage *button30 = [[UIImage imageNamed:@"button_textured_30"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; | |
UIImage *button24 = [[UIImage imageNamed:@"button_textured_24"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; | |
[[UIBarButtonItem appearance] setBackgroundImage:button30 forState:UIControlStateNormal | |
barMetrics:UIBarMetricsDefault]; | |
[[UIBarButtonItem appearance] setBackgroundImage:button24 forState:UIControlStateNormal | |
barMetrics:UIBarMetricsLandscapePhone]; | |
[[UIBarButtonItem appearance] setTitleTextAttributes: | |
[NSDictionary dictionaryWithObjectsAndKeys: | |
[UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0], | |
UITextAttributeTextColor, | |
[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0], | |
UITextAttributeTextShadowColor, | |
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)], | |
UITextAttributeTextShadowOffset, | |
[UIFont fontWithName:@"AmericanTypewriter" size:0.0], | |
UITextAttributeFont, | |
nil] | |
forState:UIControlStateNormal]; | |
// Customizing the Back Bar Buttons | |
UIImage *buttonBack30 = [[UIImage imageNamed:@"button_back_textured_30"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 5)]; | |
UIImage *buttonBack24 = [[UIImage imageNamed:@"button_back_textured_24"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 12, 0, 5)]; | |
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack30 | |
forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; | |
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack24 | |
forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone]; | |
// Customizing the tab bar | |
UIImage *tabBackground = [[UIImage imageNamed:@"tab_bg"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; | |
[[UITabBar appearance] setBackgroundImage:tabBackground]; | |
[[UITabBar appearance] setSelectionIndicatorImage: | |
[UIImage imageNamed:@"tab_select_indicator"]]; | |
// Customizing the UISlider | |
UIImage *minImage = [[UIImage imageNamed:@"slider_minimum.png"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 0)]; | |
UIImage *maxImage = [[UIImage imageNamed:@"slider_maximum.png"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 0)]; | |
UIImage *thumbImage = [UIImage imageNamed:@"thumb.png"]; | |
[[UISlider appearance] setMaximumTrackImage:maxImage | |
forState:UIControlStateNormal]; | |
[[UISlider appearance] setMinimumTrackImage:minImage | |
forState:UIControlStateNormal]; | |
[[UISlider appearance] setThumbImage:thumbImage | |
forState:UIControlStateNormal]; | |
// Customing the segmented control | |
UIImage *segmentSelected = | |
[[UIImage imageNamed:@"segcontrol_sel.png"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)]; | |
UIImage *segmentUnselected = | |
[[UIImage imageNamed:@"segcontrol_uns.png"] | |
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)]; | |
UIImage *segmentSelectedUnselected = | |
[UIImage imageNamed:@"segcontrol_sel-uns.png"]; | |
UIImage *segUnselectedSelected = | |
[UIImage imageNamed:@"segcontrol_uns-sel.png"]; | |
UIImage *segmentUnselectedUnselected = | |
[UIImage imageNamed:@"segcontrol_uns-uns.png"]; | |
[[UISegmentedControl appearance] setBackgroundImage:segmentUnselected | |
forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; | |
[[UISegmentedControl appearance] setBackgroundImage:segmentSelected | |
forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; | |
[[UISegmentedControl appearance] setDividerImage:segmentUnselectedUnselected | |
forLeftSegmentState:UIControlStateNormal | |
rightSegmentState:UIControlStateNormal | |
barMetrics:UIBarMetricsDefault]; | |
[[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected | |
forLeftSegmentState:UIControlStateSelected | |
rightSegmentState:UIControlStateNormal | |
barMetrics:UIBarMetricsDefault]; | |
[[UISegmentedControl appearance] | |
setDividerImage:segUnselectedSelected | |
forLeftSegmentState:UIControlStateNormal | |
rightSegmentState:UIControlStateSelected | |
barMetrics:UIBarMetricsDefault]; | |
// Customizing the switch control | |
[[UISwitch appearance] setOnTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]]; | |
[[UISwitch appearance] setTintColor:[UIColor colorWithRed:1.000 green:0.989 blue:0.753 alpha:1.000]]; | |
[[UISwitch appearance] setThumbTintColor:[UIColor cyanColor]]; | |
// Customizing the switch text | |
[[UISwitch appearance] setOnImage:[UIImage imageNamed:@"yesSwitch"]]; | |
[[UISwitch appearance] setOffImage:[UIImage imageNamed:@"noSwitch"]]; | |
// Customize the stepper control | |
[[UIStepper appearance] setTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]]; | |
[[UIStepper appearance] setIncrementImage:[UIImage imageNamed:@"up"] forState:UIControlStateNormal]; | |
[[UIStepper appearance] setDecrementImage:[UIImage imageNamed:@"down"] forState:UIControlStateNormal]; | |
// Customize the progress view | |
[[UIProgressView appearance] setProgressTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]]; | |
[[UIProgressView appearance] setTrackTintColor:[UIColor colorWithRed:0.996 green:0.788 blue:0.180 alpha:1.000]]; | |
// Customize the page control | |
[[UIPageControl appearance] setCurrentPageIndicatorTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]]; | |
[[UIPageControl appearance] setPageIndicatorTintColor:[UIColor colorWithRed:0.996 green:0.788 blue:0.180 alpha:1.000]]; | |
} | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
[self customizeAppearance]; | |
return YES; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment