繁体   English   中英

如何从标签栏视图 controller 转到另一个视图,该视图是导航 controller 的子视图

[英]How to segue from tab bar view controller to another view which is a child of a navigation controller

我布置了我的主屏幕(摘要屏幕),如下面的屏幕截图所示:

在此处输入图像描述

我在 UITabBarController 子类上添加了“+”按钮。 此按钮将转到 controller 视图并以模态方式显示。 为了让您了解我是如何构建故事板的,请参阅下面的屏幕截图:

在此处输入图像描述

这个模态视图 controller 有一个用户需要填写的表格,一旦完成,就会有一个“完成”按钮,它将 1) 关闭模态视图,2) 将它们带回根视图,即“ “摘要”选项卡或“详细信息”选项卡,然后 3) 将他们带到列表视图,显示他们在列表中输入的最新数据(目标视图 - 以红色突出显示)。

现在,当用户点击“+”按钮时执行 segue 已经很简单了。 使用以下代码:"

menuButton.addTarget(self, action: #selector(menuButtonAction(sender:)), for: .touchUpInside)

然后

func addNewExpense(action: UIAlertAction){
    self.performSegue(withIdentifier: "segue_formModal", sender: self)
}

在模式上,我设置了一个协议,然后将表单数据发送回选项卡视图 controller。

extension XtabBarViewController: NewInfoDelegate{
func newInfoSubmitted(formData: FormData) {
    performSegue(withIdentifier: "segue_ListingPage", sender: self)
}

}

但似乎 perform segue 不起作用。 它说segue不存在。 “segue_ListingPage”是连接摘要视图和目标视图的转场。

如何从标签栏视图 controller 转到目标视图? 任何帮助表示赞赏。

提前致谢!

您可以将导航视图 controller 作为入口点。

我自己想通了。 为了那些遇到同样问题的人的利益,这是我的解决方案。

我只是从标签栏视图 controller 添加了代码:

    let childVC = children[0].children[0]
    childVC.performSegue(withIdentifier: "segue_TXListPage", sender: self)

所以我在这里所做的是从视图 controller 调用 performSegue,该视图连接到目标 controller。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM