iOS Swift - 以编程方式导航到特定视图

时间:2015-02-03 20:00:42

标签: ios swift

我已经对此做了一些搜索,但似乎无法找到适用于我的问题的答案。

在我的应用中,用户可以创建一个团队。这是一个3 VC过程,通过按+从Manage Teams VC开始。一旦团队创建完成,我希望应用程序返回到Manage Teams VC,而不需要参考它的位置。我不想要的例子:如果我从CreateTeamStep3创建一个Segue回到Manage Teams并执行它,Manage Teams VC现在将收到一个Back按钮,允许用户返回到步骤3。

该应用是一个标签栏应用程序,每个标签中都嵌入了导航控制器。

这是一个粗略的细分:

Tab Bar
    - Newsfeed (embedded nav)
      -- Newsfeed detail
    - Teams (embedded nav)
      -- Team detail
    - Find (embedded nav)
      -- Found Detail
    - More (embedded nav)
      -- Manage Teams
         --- Create a Team Step 1
         --- Create a Team Step 2
         --- Create a Team Step 3
      -- Etc...

我尝过像

这样的东西
var storyboard = UIStoryboard(name:"Main", bundle: nil)
var vc: AnyObject! = storyboard.instantiateViewControllerWithIdentifier("ManageSquadsVC") as UITabBarController
self.navigationController?.presentViewController(vc as UIViewController, animated: true, completion: nil)

但这只是让应用程序崩溃了。

2 个答案:

答案 0 :(得分:0)

根据我的理解,您希望能够回到您的管理团队" VC在任何步骤(1,2和3)。

你应该出现"创建一个团队步骤1"模态(确保您的"管理团队"嵌入UINavigationController):

self.presentViewController(vc, true, nil)

并包含"取消"或"返回"所有"步骤"上的按钮那个电话:

self.dismissViewControllerAnimated(true, nil)

管理团队&#34> VC或VC步骤本身。

enter image description here

答案 1 :(得分:0)

虽然提到了几个不错的选择,但我最终使用了Unwind Segue。这让我回到了'#34;管理团队"页面,而不必担心导航控制器被给予步骤3的后退按钮。

我按照本指南实施了Segue:Unwind Segue