ios - Xcode 6.4 后退按钮消失

标签 ios swift

我使用的是 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/

相关文章:

ios - 尝试在 iOS 中使用 if/else 语句显示 alertView

objective-c - Objective-C 和 Swift 之间的 URL 编码方法不一致

ios - 如果 "submit_instance_key"的值为 1,则在此数组上使用的最佳高阶函数返回 bool 值?

ios - 如何将NSDictionary数据添加到NSMutableArray?

ios - 从 Collection View Cell 执行 Segue

ios - Appium,仪器在启动时崩溃

javascript - 单击 Cordova 中的应用程序图标启动器时如何恢复应用程序?

ios - 当 TextViewCell 在屏幕上不可见时如何成为 TableViewCell 中的 FirstResponder TextField

swift - UIImagePickerController didFinishPickingMediaWithInfo 没有被cameraOverlyView调用

swift - UITableViewCells 从底部流血并消失