Ios 界面生成器:导航中的“后退”按钮

Ios 界面生成器:导航中的“后退”按钮,ios,interface-builder,swift2,Ios,Interface Builder,Swift2,目前我在Interface Builder中有以下情况。我想点击启动视图控制器中的“高分”按钮。我尝试过拖放选项卡栏视图控制器,也尝试过拖放导航控制器,将选项卡栏视图控制器作为其根视图控制器 但我无法在导航栏中获得“自动”返回按钮,该按钮应链接回“开始视图”控制器。 最好的解决方案是什么 这是两个问题 第一个问题:如何在UITabBarController中显示“高分”? 根据苹果公司的指导原则,您不应该在UINavigationController中使用UITabBarController。但

目前我在Interface Builder中有以下情况。我想点击启动视图控制器中的“高分”按钮。我尝试过拖放
选项卡栏视图控制器
,也尝试过拖放
导航控制器
,将
选项卡栏视图控制器
作为其
根视图控制器

但我无法在导航栏中获得“自动”返回按钮,该按钮应链接回“开始视图”控制器。 最好的解决方案是什么


这是两个问题

第一个问题:如何在
UITabBarController
中显示“高分”?

根据苹果公司的指导原则,您不应该在UINavigationController中使用UITabBarController。但是如果你真的想添加一个UITabBarController,不要将它拖放到你的故事板上,而是选择你的“开始”视图控制器,然后选择编辑器->嵌入…->从菜单中选择TabBarController

您应该查阅有关UITabBarController的教程(例如)

但在您的情况下,我觉得您可能只想将另一个
Show
segue从“Highscores”按钮添加到第三个(目前尚未存在)“Highscores”视图控制器

第二个问题:为什么自动后退按钮不起作用?

从我在您的屏幕截图中看到的情况来看,您在“Het Spel”视图控制器中添加导航栏的方式可能有问题(可能在一般情况下)。 您是否在Interface Builder中手动添加了
UINavigationBar
、标题和右按钮项

我建议回到第一步,这样做:

1) 删除IB中的导航控制器和所有当前序列。(现在,在两个视图控制器中都不应有任何可见的导航栏。)

2) 在IB中选择“开始”视图控制器,然后从菜单中选择编辑器->嵌入…->导航控制器。(现在您的“开始”视图控制器应该有一个导航栏,但“Het Spel”不应该有。)

3) Ctrl键从“Speel het Spel!”中拖动按钮到“Het Spel”视图控制器并选择
Show
segue(
Push
segue不推荐使用)。(现在,两个视图控制器都应该有导航栏。)

4) 在两个视图控制器的代码中设置
title
属性,在“Het Spel”中也设置RightBarButtonim。例如,在
viewDidLoad
中:

// StartViewConroller
override func viewDidLoad() {
    super.viewDidLoad()
    self.title = "Start"
}

// HetSpelViewController
override func viewDidLoad() {
    super.viewDidLoad()
    self.title = "Het Spel"
    self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Checken", style: UIBarButtonItemStyle.Done, target: self, action: "checkenTapped")
}

现在,“Het Spel”中的导航栏应该会自动显示一个名为“开始”的后退按钮。

这是两个问题

第一个问题:如何在
UITabBarController
中显示“高分”?

根据苹果公司的指导原则,您不应该在UINavigationController中使用UITabBarController。但是如果你真的想添加一个UITabBarController,不要将它拖放到你的故事板上,而是选择你的“开始”视图控制器,然后选择编辑器->嵌入…->从菜单中选择TabBarController

您应该查阅有关UITabBarController的教程(例如)

但在您的情况下,我觉得您可能只想将另一个
Show
segue从“Highscores”按钮添加到第三个(目前尚未存在)“Highscores”视图控制器

第二个问题:为什么自动后退按钮不起作用?

从我在您的屏幕截图中看到的情况来看,您在“Het Spel”视图控制器中添加导航栏的方式可能有问题(可能在一般情况下)。 您是否在Interface Builder中手动添加了
UINavigationBar
、标题和右按钮项

我建议回到第一步,这样做:

1) 删除IB中的导航控制器和所有当前序列。(现在,在两个视图控制器中都不应有任何可见的导航栏。)

2) 在IB中选择“开始”视图控制器,然后从菜单中选择编辑器->嵌入…->导航控制器。(现在您的“开始”视图控制器应该有一个导航栏,但“Het Spel”不应该有。)

3) Ctrl键从“Speel het Spel!”中拖动按钮到“Het Spel”视图控制器并选择
Show
segue(
Push
segue不推荐使用)。(现在,两个视图控制器都应该有导航栏。)

4) 在两个视图控制器的代码中设置
title
属性,在“Het Spel”中也设置RightBarButtonim。例如,在
viewDidLoad
中:

// StartViewConroller
override func viewDidLoad() {
    super.viewDidLoad()
    self.title = "Start"
}

// HetSpelViewController
override func viewDidLoad() {
    super.viewDidLoad()
    self.title = "Het Spel"
    self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Checken", style: UIBarButtonItemStyle.Done, target: self, action: "checkenTapped")
}

现在,“Het Spel”中的导航栏应该会自动显示一个名为“开始”的后退按钮。

您使用的是哪种转换?您应该在UINavigationControllerIt上推送新的viewController,看起来他正在使用推送转换。你试过运行这个应用程序吗?“后退”按钮不会出现在故事板上,但在您运行它时应该会出现。它在运行它时不会出现,事实上,它是一个按下的序列。@Jeremiah我很抱歉戳了你一下,但你知道吗?你有没有可能覆盖它的代码?隐藏它的东西可能是将LeftBarButtonim设置为nil或错误地设置图像。在PrepareForSegue中添加导航栏或其他奇怪的操作也可能会导致问题。您使用的是哪种转换?您应该在UINavigationControllerIt上推送新的viewController,看起来他正在使用推送转换。你试过运行这个应用程序吗?“后退”按钮不会出现在故事板上,但在您运行它时应该会出现。它在运行它时不会出现,事实上,它是一个按下的序列。@Jeremiah我很抱歉戳了你一下,但你知道吗?你有没有可能覆盖它的代码?隐藏它的东西可能是将LeftBarButtonim设置为nil或错误地设置图像。也可以做任何事情,比如添加一个n