繁体   English   中英

Xcode 6.4 后退按钮消失

[英]Xcode 6.4 back button disappears

我使用的是 Mac OSX El Capitan 10.11.1、Xcode 6.4、iOS SDK 8.4。

我已经阅读了这里的几个后退按钮消失的帖子,但没有一个与我的问题有关。

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

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

我还注意到默认的过渡是从右向左滑入视图,但是当我进行有问题的导航时,我得到了从底部到顶部的幻灯片过渡。

任何想法表示赞赏。

:编辑:

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

performSegueWithIdentifier("Cart", sender: nil)

我也试过发件人:自我。 在此之后, Cart's Checkout segue 出现问题。

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

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

解决问题的最简单方法是改变演示风格。 pushViewController(_:animated:)替换presentViewController(_:animated:completion:) ,它提供后退按钮,这样你就可以完成你的 uni 分配。

问题是我将 segue 直接链接到视图控制器而不是导航控制器。 将 segue 重新连接到导航控制器,一切又正常了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM