Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Back button is not visible in iOS 7

I have some weird trouble about iOS 7. I have an UINavigationBar in my app and it works perfect for iOS 6;

-- IOS 6 --

enter image description here

However, when i try to run it on iOS 7, my back button disappeared. It's there, still working and clickable but not visible;

-- IOS 7 --

enter image description here

How can I fix this problem ?

like image 400
Kemal Can Kaynak Avatar asked Sep 04 '13 15:09

Kemal Can Kaynak


2 Answers

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:

  1. Change the color of the backIndicatorImage by setting the tintColor property on UINavigationBar (or one of its superclasses).

  2. 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)

  3. Create a custom UIBarButtonItem and manually assign it as UINavigationItem's leftBarButtonItem. (See the answer mentioned above by Mashhadi)

like image 182
Wes Dearborn Avatar answered Sep 18 '22 16:09

Wes Dearborn


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];
        }
like image 34
Kemal Can Kaynak Avatar answered Sep 16 '22 16:09

Kemal Can Kaynak