Xcode 6.4后退按钮消失

时间:2015-11-22 08:50:48

标签: ios swift

我在Mac OSX El Capitan 10.11.1,Xcode 6.4,iOS SDK 8.4上。

我已经阅读了几个后退按钮消失的帖子,这些都与我的问题无关。

我正在为Uni作业创建购物应用。我创建了菜单,产品列表,产品详细信息,购物车和结帐故事板。 我可以从菜单中成功导航 - >任何其他和后退按钮就在那里。我可以导航菜单 - >购物车 - >结帐没有问题。但是当我导航菜单时 - >产品清单 - >产品详情 - >购物车 - >结账结账视图丢失后退按钮。我做了println(self.navigationController!.navigationBarHidden)并且说错了。

我没有隐藏任何标题或导航栏或任何东西。 只是这种特殊的方式它失去了后退按钮,我点击它没有检测到并突然出现的区域。

我还注意到默认转换是从右到左滑入视图,但是当我进行有问题的导航时,我得到一个从下到上的幻灯片转换。

任何想法都表示赞赏。

:编辑:

我试图将segue执行到购物车的代码是

performSegueWithIdentifier("Cart", sender: nil)

我也试过发件人:自己。在此之后,购物车的Checkout segue就会出现问题。

2 个答案:

答案 0 :(得分:1)

在我看来,就像你在结帐屏幕上以模拟方式呈现UIViewController一样。如果您使用UIViewControllerpushViewController(_:animated:)推送到导航堆栈,导航控制器将为您创建后退按钮。

如果您使用presentViewController(_:animated:completion:)呈现控制器,它将显示在导航控制器的顶部(从下向上滑动动画),并且不提供后退按钮。您需要创建自己的机制才能返回。最简单的是dismissViewControllerAnimated(_:completion:)

解决问题的最简单方法是更改​​呈现方式。将presentViewController(_:animated:completion:)替换为提供后退按钮的pushViewController(_:animated:),以便您完成单一任务。

答案 1 :(得分:1)

问题在于我将segue直接链接到视图控制器而不是导航控制器。将segue重新连接到导航控制器,一切都在世界上。