ios - Swift:寻求有关完成 Storyboard / View Controller 之间特定流程的建议

标签 ios xcode swift uistoryboard

所以我正在开发一个应用程序,并最终开始构建实际的模块,而不是用于测试的 Playground 和实用程序应用程序。所以我真的很想做这件事,因为我现在正投入真正的交易。我希望得到的建议能够帮助我实现应用程序“流程”的目标,而无需我将一些东西组合在一起,这些东西稍后会回来咬我。

假设我有一个可以分支到多个 Storyboard的主屏幕(单个 View Controller )。我想要触发转换的机制是用户用手指在主屏幕上抓取图像,然后将其从屏幕上弹开。当图像不再出现在屏幕上时,我想转换到与该图像对应的 Storyboard。例如,用户可能会轻拂“设置”图像以打开设置面板。

[home storyboard] -- [user flicks image off screen] --> [alternate storyboard]

我已经完成了这种工作,但是按照我现在的方式,我不确定如何能够从第二个 Storyboard导航回主 Storyboard。对我来说,它也显得不干净和老套。

Right now it is set up as such:
    Home is its own storyboard - main.storyboard
    Home contains one simple viewcontroller
    Alt is another storyboard - alt.storyboard
    Alt contains a navigationcontroller 

我怎样才能促进一些事情,让 Alt 的导航 Controller 识别出它只是在主页 Storyboard 中,以便它提供一个用于导航回家的“后退”按钮?

或者,如果有人对我如何以更简洁的方式完成此任务有任何建议,我将不胜感激。为了组织起见,我希望每个“模块”(即 alt.storyboard 的内容)位于不同的 Storyboard中。

这是我用来续写我的第二个 Storyboard的代码:

if !(recognizer.view!.window == nil)   {
    print("object left window")
    let viewController: UIViewController = (self.storyboard?.instantiateViewControllerWithIdentifier("Alt"))! as UIViewController
    self.presentViewController(viewController, animated: true, completion: nil)
}

非常感谢您抽出宝贵的时间来检查这一点,如果我还不够清楚,请告诉我。

最佳答案

您可以将主视图 Controller (来自 Home Storyboard)本身放入导航 Controller 中,然后简单地从您想要到达的 Storyboard中推送初始 View Controller (在您的示例中 Alt Storyboard)与自定义过渡。所以除了 Home 之外的所有其他 Storyboard的 View Controller 不应该嵌入到导航 Controller 中!

关于ios - Swift:寻求有关完成 Storyboard / View Controller 之间特定流程的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36487989/

相关文章:

ios - Swift Firebase UIRefreshControl 创建重复的帖子

ios - 离开屏幕后删除节点

objective-c - 无法呈现 IB Designables 的实例

ios - 更改所选 UITableViewCell 的背景颜色

iphone - 核心图 - 在轴的相对两侧放置标签和刻度

ios - 按下按钮时出现 Xcode 奇怪错误

ios - 非 -'@objc' 方法 'paymentAuthorizationViewControllerDidFinish' 不满足 '@objc' 协议(protocol)的要求

ios - Xcode Organizer-无法刷新配置文件列表

swift - AVCaptureMetadataObjectDelegate 未收到回调

swift - 如何手动清零内存?