Ios 后退按钮有问题
我的后退按钮有奇怪的问题。我有两个VC。每个VC都有自己的后退按钮(它们不是默认的,它们是作为左栏按钮项添加的。当我从VC1(与主视图控制器链接,未显示)到VC2时,我看到VC2,但当我回到VC1时,我看到VC1的导航栏和VC2的视图。我需要做些什么? 我还尝试添加func,但没有效果Ios 后退按钮有问题,ios,swift,view,uiviewcontroller,Ios,Swift,View,Uiviewcontroller,我的后退按钮有奇怪的问题。我有两个VC。每个VC都有自己的后退按钮(它们不是默认的,它们是作为左栏按钮项添加的。当我从VC1(与主视图控制器链接,未显示)到VC2时,我看到VC2,但当我回到VC1时,我看到VC1的导航栏和VC2的视图。我需要做些什么? 我还尝试添加func,但没有效果 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "comeBack" {
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "comeBack" {
let backVC = self.storyboard?.instantiateViewController(withIdentifier: "CollectionVC") as! RecipeCollectionViewController
self.navigationController?.pushViewController(backVC, animated: true)
}
}
使用此按钮将VC1推送到VC2
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("VC2") as! VC2
self.navigationController?.pushViewController(vc, animated: true)
并将其用于从VC2返回到VC1
self.navigationController?.popViewControllerAnimated(true)
用于特定于pop的视图控制器
let viewControllers: [UIViewController] = self.navigationController!.viewControllers
for vc in viewControllers {
if VC is YourViewController {
self.navigationController!.popToViewController(vc, animated: true)
}
}
如果弹出上一个控制器,则不使用
self.navigationController?.popViewControllerAnimated(true)
为什么要为第一个控制器设置后退按钮?它不是第一个控制器。它与主视图控制器链接。因此,当您单击VC2的自定义后退按钮时,您是否正在编写问题中显示的代码?如果是这种情况,您不应按下控制器而应弹出控制器。从第二个返回到第一个是错误的,您不需要创建另一个segue,请按下面的答案返回您只需要“self.navigationController?.popViewControllerAnimated(true)”即可返回上一个viewcontrollerI将VC1按到VC2 self.navigationController?.popViewControllerAnimated(true)在返回按钮中使用此选项