如果不使用导航控制器,返回第一个视图控制器的正确方法是什么?
what is the correct way to be back to first view controller if not using navigation controller?
我遇到无法使用导航控制器的情况,我想从 YellowVC 返回到 blueVC。如果使用导航控制器,我通常使用
self.navigationController?.popToRootViewController(animated: true)
但如果我不使用导航控制器,我发现有两种方法可以从 blueVC 返回到 yellowVC。
- 使用展开转场
- 像下图一样使用现在模态
那么回到第一个视图控制器的最佳方法是什么?使用 unwind segue 还是使用 present modally segue?
我认为如果你使用 dismiss view controller 会很容易。
- 当第三个 VC class 的后退按钮时,您只需将任何 uniq 值传递给第二个视图控制器 class。(任何字符串或任何整数)
- 并在视图中使用 if 条件检查值确实加载了第二个 VC class 然后如果它的匹配项关闭当前 VC(第二个 VC ) 够了。
3VC class
@IBAction func back_clicked(_ sender: Any) {
dismiss(animated: false, completion: nil)
2_vcObject.String = "skip2"
}
2Vc Class
view did load()
if string == "skip2"
{
dismiss(animated: false, completion: nil)
}
假设您要呈现所有视图,更好的方法是使用 unwind Segues。
我遇到无法使用导航控制器的情况,我想从 YellowVC 返回到 blueVC。如果使用导航控制器,我通常使用
self.navigationController?.popToRootViewController(animated: true)
但如果我不使用导航控制器,我发现有两种方法可以从 blueVC 返回到 yellowVC。
- 使用展开转场
- 像下图一样使用现在模态
那么回到第一个视图控制器的最佳方法是什么?使用 unwind segue 还是使用 present modally segue?
我认为如果你使用 dismiss view controller 会很容易。
- 当第三个 VC class 的后退按钮时,您只需将任何 uniq 值传递给第二个视图控制器 class。(任何字符串或任何整数)
- 并在视图中使用 if 条件检查值确实加载了第二个 VC class 然后如果它的匹配项关闭当前 VC(第二个 VC ) 够了。
3VC class
@IBAction func back_clicked(_ sender: Any) {
dismiss(animated: false, completion: nil)
2_vcObject.String = "skip2"
}
2Vc Class
view did load()
if string == "skip2"
{
dismiss(animated: false, completion: nil)
}
假设您要呈现所有视图,更好的方法是使用 unwind Segues。