在iOS 7中看不到后退按钮

时间:2013-09-04 15:10:34

标签: uinavigationbar ios7

我对iOS 7有一些奇怪的麻烦。我的应用程序中有一个UINavigationBar,它适用于iOS 6;

- IOS 6 -

enter image description here

然而,当我尝试在iOS 7上运行它时,我的后退按钮消失了。它在那里,仍在工作,可点击但不可见;

- IOS 7 -

enter image description here

如何解决此问题?

3 个答案:

答案 0 :(得分:5)

通过BackButtonBackgroundImage设置UIAppearance目前在iOS 7中有一些奇怪的行为。这可能与更新的设计有关,它将rect-style按钮替换为backIndicatorImage(箭头)。

这留下了3个用于自定义后退按钮外观的选项:

  1. 通过在tintColor(或其中一个超类)上设置UINavigationBar属性来更改backIndicatorImage的颜色。

  2. backIndicatorImage上的新UINavigationBar属性设置为自定义图片。 (不要忘记设置backIndicatorTransitionMaskImage或者它不起作用)

  3. 创建自定义UIBarButtonItem并手动将其指定为UINavigationItem的{​​{1}}。 (请参阅the answer

  4. 上面提到的Mashhadi

答案 1 :(得分:2)

顺便说一句,如果你必须像我一样继续支持ios 6版本,请使用它;

   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];
        }

答案 2 :(得分:0)

我使用了Wes Dearborn的答案并实现了支持iOS5 +的后退按钮和iOS7的backIndicatorImage的好方法:

Back button strangely disappearing in UINavigationController but keeps working