I have some weird trouble about iOS 7. I have an UINavigationBar
in my app and it works perfect for iOS 6;
-- IOS 6 --
By the way, if you have to keep support ios 6 version like me, use that;
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1)
{
// My iOS 6 back button background
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:39.0f/255.0f green:184.0f/255.0f blue:199.0f/255.0f alpha:1.0];
}
else
{
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
}
I used Wes Dearborn's answer and implemented a nice way of supporting both iOS5+'s back button and iOS7's backIndicatorImage:
Back button strangely disappearing in UINavigationController but keeps working
Setting BackButtonBackgroundImage
via UIAppearance
currently has some odd behavior in iOS 7. This is probably related to the updated design, which replaces the rect-style button with a backIndicatorImage (an arrow).
This leaves 3 options for customizing the back button's appearance:
Change the color of the backIndicatorImage by setting the tintColor
property on UINavigationBar
(or one of its superclasses).
Set the new backIndicatorImage
property on UINavigationBar
to a custom image. (don't forget to set the backIndicatorTransitionMaskImage
as well or it won't work)
Create a custom UIBarButtonItem
and manually assign it as UINavigationItem
's leftBarButtonItem
. (See the answer mentioned above by Mashhadi)