嗨,我有以下情况:
|---> VC1----->|
VC_Home ->|---> VC2----->|------> VCm
|---> VC3----->|
VC1,VC2和VC3可以转到同一个ViewController(VCm)
如果从VC1启动并转到VCm,如何从VCm导航回正确的上一个VC,然后Vcm将返回到VC1 . 所以,VC2和VC3也一样 .
所有VC1,VC2,VC3都不要嵌入NavigationController .
这将能够识别哪一页是前一页?
@IBAction func goBack(_ sender: Any){
navigationController?.popViewController(animated: true)
}
请帮忙 .
谢谢
2 回答
在
storyBoard
中添加UINavigationController
添加新
UIViewController
[这是VC_HOME]并将其与UINavigationController
链接为root View Controller
(ctrl drag)给它一个ID(右侧实用程序视图 - > Identity Inspector - > StoryBoard ID - >将其命名为“
myHome
”)添加3按钮[
go to vc1
,go to vc2
,go to vc3
],当然为每个按钮添加@IBAction
为vc1,vc2,vc3添加3个不同的
UIViewController
,并为步骤3添加ID为myVc1
,myVc2
,myVc3
现在为
@IBAction go to vc1
添加以下代码:for
@IBAction go to vc2
添加以下代码:for
@IBAction go to vc3
添加以下代码:现在为每个视图添加按钮转到
VC_M
,如上所示用于返回上一个viewController [vc1,vc2,vc3]使用此代码:
navigationController?.popViewController(animated: true)
如果你回到root [VC_Home]使用这个:
navigationController?.popToRootViewController(animated: true)
只是
dismiss
你最后的视图控制器 . 在最终视图控制器中添加以下操作 .