我的iPhone应用程序(使用swift构建)中使用Xcode 6.1构建了两个 View Controller ,并使用 Storyboard 。
第一个 View Controller 嵌入在 Storyboard 中的导航 Controller 中,第二个 View Controller 的设置为“显示”设置。
当应用程序运行时,它在iOS 8.x中正确地将过渡显示为推送,但是在iOS 7.x中,它作为模式显示而没有导航栏。
我的应用程序要求是将过渡显示为推送,无论是iOS 7还是iOS8。是否有任何想法可以在两个版本的iOS中将其作为推送工作?
我在相关文章中提到了此问题,但找不到该问题的解决方案:Adaptive segue in storyboard Xcode 6. Is push deprecated?
任何帮助表示赞赏...
谢谢
最佳答案
我只是提供了一个very detailed SO answer,它可以完全解释正在发生的事情以及原因,但是简单的解决方案是您可以删除未推送的Segue,然后在 Storyboard 中重新创建它。原因是segue中的xml可能断点了(例如,请参阅扩展的答案/有关如何确认此问题的说明)。
确认在 View 层次结构中至少有一个UINavigationController之后,请确保该序列不是手动序列,并且没有与之关联的操作(通过将 Storyboard上的序列作为源代码查看)。删除现有的segue,然后从UIView/UIControl按住Ctrl并将其拖动到目标 View Controller ,如果需要自定义操作,请在 prepareForSegue 中拦截对目标 Controller 的调用。
UINavigationController并具有正常的内容 View
Controller ,因为它是根 View Controller 。 (或者您将自己的
UINavigationController内部的初始 View Controller )
关于ios - Xcode 6中的“Show” segue在iOS 7中将viewcontroller呈现为模态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26649180/