目前在我的viewController:上传,我的按钮只有在填写了所有信息后才将数据发送到我的数据库,然后我回到预览视图(表格视图):
self.navigationController?.popViewControllerAnimated(true)
如果有可能,我想回到tabBarController的主视图。我尝试了很多东西,比如直接在故事板上使用将模块设置为“TabBar控制器”,但是我回到TabBar而没有将数据发送到数据库而且没有填写信息就填写完了..
我该怎么做?
谢谢!
答案 0 :(得分:1)
UITabBarController
有一个属性selectedIndex
,您可以使用该属性切换所选标签。因此,在解除UploadViewController后完成后,您可以运行:
self.tabBarController?.selectedIndex = 0 // Index to select
最好为您的UploadViewController创建一个委托来激活一个函数,以便在API调用完成时完成previewVC中的所有工作。
答案 1 :(得分:0)
(超级后期响应...以防万一有人有类似问题,大概是在更高版本的Swift中,例如我的Swift 5,iOS 13.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中效果很好)