Reputation: 2248
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
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
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