1

我无法将iOS的标准后退按钮放入a navigationBar,因为我在对象库中找不到它,所以我可以用代码或其他东西来做吗?

我只想要正常的、标准的、蓝色的后退按钮——你知道我的意思。

4

3 回答 3

3

要“自动”拥有一个后退按钮,您首先需要一个UINavigationController. 然后你需要取一个不同的UIViewController并将其添加为UINavigationControllerinit 方法中的根视图控制器:

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:someOtherViewController];

确保还为 设置一个标题someOtherViewController,通常在它的 viewDidLoad 或初始化程序中。我会告诉你为什么这很重要:

self.title = @"Some other VC";

然后花点时间UIViewController把它推到你的导航控制器上:

[navigationController pushViewController:anotherViewController animated:YES];

UIViewControllers现在,您的导航堆栈上有两个:someOtherViewControlleranotherViewController.

您的视图现在将有一个带有“其他 VC”的后退按钮。这是刚刚移出视图的视图控制器的标题:

我还建议阅读有关如何UINavigationControllers工作并搜索此站点的更多信息以自定义后退按钮。有很多关于它的线程。

于 2013-04-05T15:44:35.497 回答
1

您不能自己添加后退按钮。后退按钮是导航控制器的一部分。如果您将导航控制器嵌入到您的视图中,后退按钮将出现并由前一个视图的名称填充。

如果您使用故事板,请选择您的视图控制器,然后在顶部菜单中选择“编辑器”->“嵌入”->“导航控制器”。


编辑: 这是一个例子。

于 2013-04-05T15:08:22.873 回答
0

我正在运行 Xcode 7.2。这让我发疯,但我想通了。以下是使“后退”按钮出现所需的所有部分(制作一个测试项目来证明这一点):

1)你必须有一个导航控制器,它必须设置为初始视图控制器。所以添加导航控制器,您将导入两个表。单击导航控制器,然后在属性列表中,选中显示“是初始视图控制器”的框。您现在将看到指向此视图的箭头。

2) 在我们的例子中,我们想要一个 ViewController 而不是包含/连接的 TableViewController,所以删除 TableViewController (RootController) 并添加一个新的 ViewController。

3) 通过单击导航控制器的顶部栏和箭头指向左侧的橙色圆圈,将导航控制器连接到新的 ViewController。按住键盘上的 Control 按钮,然后单击并从橙色圆圈拖动到 ViewController 并松开。当给出关于如何连接两个视图的选项列表时,选择“根视图控制器”。

完毕!现在您可以正常工作的导航栏,并且您会自动在所有添加的 segues 上获得后退箭头。测试这个。添加另一个 ViewController 并使用现有 ViewController 上的按钮连接到它。使用 Control-click-drag 方法从按钮到最新的 ViewController。为您创建的新转场选择“显示”选项。

运行。当您单击按钮并移动到最新的 ViewController 时,您会看到后退选项已自动出现。

这都是由导航控制器提供的,但仅当您将另一个控制器设为 RootController 时。快乐导航!

于 2015-12-26T20:18:19.393 回答