我使用的是 Mac OSX El Capitan 10.11.1、Xcode 6.4、iOS SDK 8.4。
我已经阅读了这里的几篇后退按钮消失的帖子,但没有一个与我的问题相关。
我正在为大学作业创建一个购物应用程序。我创建了菜单、产品列表、产品详细信息、购物车和结帐 Storyboard。 我可以成功地从菜单 -> 任何其他导航,并且后退按钮就在那里。我也可以毫无问题地导航菜单 -> 购物车 -> 结帐。但是,当我导航菜单 -> 产品列表 -> 产品详细信息 -> 购物车 -> 结帐时,结帐 View 丢失了后退按钮。我做了 println(self.navigationController!.navigationBarHidden) 并且它说 false。
我没有隐藏任何标题或导航栏或任何东西。 只是这种特殊方式会丢失后退按钮,我点击它没有检测到的区域并突然出现。
我还注意到默认过渡是从右到左滑入 View ,但是当我进行有问题的导航时,我会得到从下到上的幻灯片过渡。
任何想法都会受到赞赏。
:编辑:
我尝试执行购物车的代码是
performSegueWithIdentifier("Cart", sender: nil)
我也尝试过发件人:self。此后,购物车的结帐segue 就会出现问题。
最佳答案
在我看来,您正在以模式方式为结账屏幕呈现 UIViewController
。如果您使用 pushViewController(_:animated:)
将 UIViewController
推送到导航堆栈,导航 Controller 将为您创建后退按钮。
如果您使用 presentViewController(_:animated:completion:)
呈现 Controller ,它将呈现在导航 Controller 的顶部(从下往上滑动动画),并且不提供后退按钮。您需要创建自己的返回机制。最简单的一个是 dismissViewControllerAnimated(_:completion:)
解决问题的最简单方法是改变呈现风格。将 presentViewController(_:animated:completion:)
替换为 pushViewController(_:animated:)
,它提供后退按钮,以便您可以完成 uni 作业。
关于ios - Xcode 6.4 后退按钮消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33853086/