9

我对 iOS 7 有一些奇怪的问题。我的UINavigationBar应用程序中有一个,它非常适合 iOS 6;

-- IOS 6 --

在此处输入图像描述

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

-- IOS 7 --

在此处输入图像描述

我该如何解决这个问题?

4

3 回答 3

5

设置BackButtonBackgroundImageviaUIAppearance当前在 iOS 7 中有一些奇怪的行为。这可能与更新的设计有关,它将矩形样式的按钮替换为 backIndicatorImage(箭头)。

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

  1. tintColor通过将属性设置为 on UINavigationBar(或其超类之一)来更改 backIndicatorImage 的颜色。

  2. 将新backIndicatorImage属性设置UINavigationBar为自定义图像。(不要忘记设置,backIndicatorTransitionMaskImage否则它将不起作用)

  3. 创建一个自定义UIBarButtonItem并手动将其分配为UINavigationItem's leftBarButtonItem。(请参阅上面提到的Mashhadi的答案

于 2013-09-23T01:40:54.850 回答
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];
        }
于 2013-10-04T11:39:58.603 回答
0

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

UINavigationController 中的后退按钮奇怪地消失了,但仍在工作

于 2013-10-08T03:03:03.060 回答