O'Reilly logo

iOS 6 Programming Cookbook by Vandad Nahavandipoor

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

2.9. Customizing the UISegmentedControl

Problem

You have already placed a segmented control or two on your UI, and now want to be able to customize them to match your UI’s theme.

Solution

Either apply tint color to the segmented control or create your own images and apply them to this component.

Discussion

Tint colors are the easiest way of applying new colors to your UI components. The UISegmentedControl class has a property named tintColor that you can utilize to change the tint color of your segmented control. There is one important thing that you have to bear in mind before attempting to change the value of the aforementioned property: the style of your segmented control has to be set to UISegmentedControlStyleBar. You can change the style of your segmented control by changing the value of the segmentedControlStyle property of your control. Here is an example:

#import "ViewController.h"

@interface ViewController ()
@property (nonatomic, strong) UISegmentedControl *segmentedControl;
@end

@implementation ViewController

- (void)viewDidLoad{
    [super viewDidLoad];

    NSArray *items = @[@"Item 1", @"Item 2", @"Item 3"];
    self.segmentedControl = [[UISegmentedControl alloc] initWithItems:items];
    /* We have to do this if we want to change the tint color */
    self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
    [self.view addSubview:self.segmentedControl];
    self.segmentedControl.center = CGPointMake(self.view.center.x + 25.0f,
                                               self.view.center.y);

    /* Change the tint color now */ ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required