views:

1758

answers:

2

I'm adding a segmented control to a navigation bar in my iPhone app. By default the color of the segmented control matches the color of the navigation bar. I want to match the color of the segmented control to other buttons in the navigation bar (like the back navigation button).

Can anyone tell me an RGB value (or a system color) that matches the default color of UIButtonBarItems that have been added to a UINavigationBar with a style of UIBarStyleDefault?

A: 

Teach someone to fish.

Check your System for an App called Digital Color Meter or something like that. You can use this to get RGB values from colors on screen.

Jordan
That fish you can keep. ;-) I've already tried that. The problem is that the iPhone automatically applies a gradient to the background color, so trying to figure out which part of the gradient to meter is a problem. What I need is the background color that is used beneath the gradient, before it is displayed to the user.
ceperry
Gotcha. I don't recall seeing that published any where, but a graphics tool and some trial and error may work.
Jordan
+5  A: 

After a while, I realized that the iPhone was applying a blue gradient to the button, so the tint needed to be pretty gray. I finally hit on this HSV combination which is pretty darn perfect. Note that as per the documentation, all values are specified as float values between 0 and 1.

Hue: 0.6

Saturation: 0.33

Value: 0.69

Alpha: 0

I hope this saves a couple hours of work for some other developer.

ceperry
cheers ;) self.navigationController.navigationBar.tintColor = [UIColor colorWithHue:0.6 saturation:0.33 brightness:0.69 alpha:0];
norskben