【问题标题】:How to transit from the last view in a tab to the last view of another tab如何从选项卡中的最后一个视图过渡到另一个选项卡的最后一个视图
【发布时间】:2017-10-31 15:59:37
【问题描述】:

这是我项目的示意图:

我要实现的逻辑流程:

1:用户通过第一个选项卡中的所有视图输入任务的所有请求信息,最后到达名为“writeTask”的最后一个视图。在这里用户应该点击“确认”按钮。

2:Upton 点击​​“确认”我想将用户导航到第二个选项卡的第二个视图(名为“newTask”),它显示了用户刚刚输入的任务。用户可以通过点击左上角的按钮进入“myTasks”表格视图。

我的第一种方法:

点击按钮后,我instantiateViewController“myTasks”并执行self.present(myTasks, animated: true, completion: nil)。但是现在用户将首先进入“myTasks”表视图,而不是直接进入“newTask”。我试图通过在viewDidload self.performSegue(withIdentifier: "showTaskDetails", sender: self) 中执行一个segue 来解决这个问题

问题:segue 执行得太晚(加载视图后,用户将看到“myTasks”视图半秒)。

第二种方法:

我在点击按钮和“newTask”视图之间创建了一个模态序列。我在“newTask”视图和“myTasks”表视图之间创建了一个展开segue。因此用户将被导航到“newTask”视图,他们可以通过 unwind segue 返回“myTasks”。

问题:在 unwind segue 期间,“wirteTasks”视图将在“myTasks”表格视图显示之前短暂显示。

【问题讨论】:

标签: ios uiviewcontroller swift3 uitabbarcontroller segue


【解决方案1】:

这是我想出的新方法:

let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
    let vc: UITabBarController = mainStoryboard.instantiateViewController(withIdentifier: "tabBarController") as! UITabBarController


    let nvc = vc.viewControllers?[1] as! UINavigationController
    let destinationVC = nvc.viewControllers[0] as! myTasksTableViewController

    destinationVC.task = task

    vc.selectedIndex = 1

    self.present(vc, animated: true, completion: nil)

【讨论】:

    猜你喜欢
    • 2014-07-28
    • 2017-01-15
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 2011-05-21
    相关资源
    最近更新 更多