回到tabBarController,swift

时间:2016-02-03 19:31:07

标签: swift uitabbarcontroller uitabbar uistoryboardsegue unwind-segue


目前在我的viewController:上传,我的按钮只有在填写了所有信息后才将数据发送到我的数据库,然后我回到预览视图(表格视图): self.navigationController?.popViewControllerAnimated(true)

如果有可能,我想回到tabBarController的主视图。我尝试了很多东西,比如直接在故事板上使用将模块设置为“TabBar控制器”,但是我回到TabBar而没有将数据发送到数据库而且没有填写信息就填写完了..

我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:1)

UITabBarController有一个属性selectedIndex,您可以使用该属性切换所选标签。因此,在解除UploadViewController后完成后,您可以运行:

self.tabBarController?.selectedIndex = 0 // Index to select

最好为您的UploadViewController创建一个委托来激活一个函数,以便在API调用完成时完成previewVC中的所有工作。

答案 1 :(得分:0)

(超级后期响应...以防万一有人有类似问题,大概是在更高版本的Swift中,例如我的Swift 5,iOS 13.2)。步骤:

  1. 请确保为您的UITabBarController故事板设置一个ID,例如“ TabBarViewController”
  2. 接下来,将以下内容添加到已连接到按钮的操作中:

let ID_TABBAR = "TabBarViewCOntroller"

@IBAction func returnToTabbar(_ sender: Any) {
        let tabBarController = self.storyboard?.instantiateViewController(identifier:ID_TABBAR) as! UITabBarController
        self.navigationController?.pushViewController(tabBarController, animated:true)
}

引用自one of the responses from this post

更新:如果您的标签栏视图控制器也恰好是根视图控制器,则上述returnToTabbar方法中的两行代码可以是:

self.dismiss(animated:true, completion:nil);
self.navigationController?.popViewController(animated:true);

(参考:对于Swift4,请参见答案here,但在Swift5中效果很好)