表格单元的segue在选项卡和导航视图控制器中
我刚刚开始学习Xcode和swift语言。为了让我自己熟悉它们,我试图用我迄今为止学到的东西来构建一个简单的应用程序。 1表格单元的segue在选项卡和导航视图控制器中
该屏幕截图显示了我想实现的功能。 VC1和VC2都是导航+选项卡VC。当用户点击VC1导航栏上的“预设”按钮时,屏幕将切换到具有不同预设值表的VC2。我所做的就是创建一个从“预设”按钮到VC2的动作顺序(显示)。迄今为止都很好。
这是我想要做的,但无法想出办法:在VC2的表格上,当用户点击任意一行时,他将被带回到VC1,并且所选行中的值正被插入到VC1的文本字段中。
我试图做的是从表单元格创建一个动作segue(显示)到VC1。但通过这样做,VC1和VC2上的导航栏和标签栏已消失2
是我正在尝试实现的吗?如果是的话,我做错了什么?
我倾向于使用故事板与IBAction为返回到上一个视图控制器,如
@IBAction func userDidSelectTableCell() {
self.navigationController?.popViewController(animated: true)
}
但在你的情况我觉得你一退卷后赛格瑞,我没有用一个,但你可以在以下链接https://spin.atomicobject.com/2014/10/25/ios-unwind-segues/阅读更多关于他们的信息。 希望有帮助
为了您的目的,您需要使用unwind segue
。为了达到这个目的,你首先需要在你的VC2类中声明一个存储所选行的值的全局变量。您可以使用didSelectRow
方法。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
selectedCell = indexPath.row
self.performSegue(withIdentifier: "YourIdentifier", sender: self)
}
您需要在您的VC1类中添加@IBAction
方法。
@IBAction func unwindtoVC1(_ sender: UIStoryboardSegue){
if let sourceVC = sender.source as? YourTableViewController {
yourTextFiled.text = sourceVC.selectedCell
}
}
在你故事情节,在VC2,从控制的viewController +拖放到出口部分来创建一个SEGUE。
从弹出窗口中选择unwindtoVC1
方法。
使用该标识在VC2类,在didSelectRow
方法,在self.performSegue(withIdentifier: "YourIdentifier", sender: self)
希望这有助于。