Iphone – How to adjust UINavigationBar’s text and buttons when you change tintColor

iphone

I was able to change the tintColor of the UINavigationBar by doing:

    self.navigationController.navigationBar.tintColor = [UIColor redColor];

However the problem is when the color gets too light, the button, backButton and the title text is not visible. Why is it that it doesn't automatically adjust itself based on the tint color? Do I have to create custom button, custom title view and custom back button if I change the tint color?

alt text http://img210.imageshack.us/img210/9617/picture1tlv.png

Best Answer

This is quite annoying. You will need to manipulate the custom views of navigationBar.titleView, and the barbuttonitem.customView. There you can use a UILabel with text of the desired background color. I don't think there is a more elegant solution.