2

UINavigationController我可能在这里遗漏了明显的东西,当用户在“主”屏幕上选择一个按钮时,我在一个被推入堆栈的 viewController 中。

在此处输入图像描述

我要做的是达到可以访问UIBarButtonItem后退按钮(在图像上显示为“主”)并调用setBackButtonBackgroundImage:forState:barMetrics:自定义按钮的地步。

我感到困惑的是,我是否需要从每个UIViewController被推动的东西中执行此操作,还是我需要在其本身上执行一次UINavigationController

我认为我可以使用以下方式从推送的控制器中访问我想要的内容:

UINavigationItem *navItem = [self navigationItem];

但认为我对事物的设置方式感到困惑。

4

1 回答 1

2

可以自定义后退按钮的是消失的控制器,例如,您将控制器 A 推入控制器 B。您在控制器 B 上看到的后退按钮是 A 的后退按钮。

如果您想自定义应用程序中的所有按钮,您可以子类化UINavigationController,确保使用它而不是常规按钮,并且您可以使用UINavigationController以下pushViewController:animated方法:

controller.navigationItem.backBarButtonItem = ...; // Your custom back button
[super pushViewController...];

编辑 您无法访问默认的后退按钮,您只能创建一个新按钮来替换它。

于 2013-02-05T19:17:20.290 回答