Swift:寻求在故事板/ viewcontrollers之间完成特定流程的建议

时间:2016-04-07 21:59:57

标签: ios xcode swift uistoryboard

所以我正在开发一个应用程序,最后我开始构建实际模块,而不是游乐场和实用程序应用程序进行测试。所以我真的想要做到这一点,因为我现在正在进入真正的交易。我希望获得建议,这将有助于我实现我的应用目标" flow"没有我一起黑客攻击,以后会再次咬我。

想象一下,我有一个可以分支到多个故事板的主屏幕(单个视图控制器)。我想要触发转换的机制是用户用手指抓住主屏幕上的图像,然后将其从屏幕上轻弹。当图像不再显示在屏幕上时,我想转换到与该图像对应的故事板。例如,用户可能会轻拂"设置"图像打开设置面板。

[home storyboard] -- [user flicks image off screen] --> [alternate 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的导航控制器能够识别出它只是在Home故事板中,这样才能提供一个"返回"导航回家的按钮?

或者,如果有人对如何以更整洁的方式完成此任务有任何建议,我将非常感激。我想要每个"模块" (即alt.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)
}

非常感谢您花时间检查一下,如果我不够清楚,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以将主视图控制器(来自Home storyboard)本身放入导航控制器中,只需从您想要访问的故事板(在您的示例中为Alt storyboard)中使用自定义推送初始视图控制器过渡。所以除Home以外的所有其他故事板中的视图控制器不应嵌入导航控制器中!