sberley
sberley

Reputation: 2248

how to create UISegmentedControl to look like buttons on camera

I'd like to create a UISegmentedControl that's styled similarly to the flash and hdr controls in the camera app. (i.e. black outline, black text, frosted semi-translucent background)

Any suggestions to do this?

Thanks,

Upvotes: 0

Views: 381

Answers (2)

sberley
sberley

Reputation: 2248

@JP... Thanks for the answer. In the interim, I found a way to do it.

I'm placing the segmented controller as an overlay on a map to change the map's style (standard/satellite/hybrid) as in google maps. Note the subtle change in the background color - that's to increase readability on standard-style maps which tend do have a much lighter background than satellite-based images.

- (void) setMapSelectorColors:(UISegmentedControl *)control {
    NSDictionary *mapStyleSelectorTextAttributes = [NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:UITextAttributeTextColor];

    [self.mapStyleSelector setTitleTextAttributes:mapStyleSelectorTextAttributes forState:UIControlStateNormal];

    if (control.selectedSegmentIndex == 0) {
        self.mapStyleSelector.tintColor = [UIColor lightGrayColor];
    } else {
        self.mapStyleSelector.tintColor = [UIColor whiteColor];
    }
}

Upvotes: 0

JP Hribovsek
JP Hribovsek

Reputation: 6707

You might want to follow this tutorial http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5 to understand how to customize UIKit controls with your own assets.

The idea is that you will use UIAppearance and will have to create a few assets for the various possible states (selected/unselected, left/right...)

Upvotes: 1

Related Questions