San*_*mar 1 xcode applet ios swift
我遇到一个问题,如果一个Screen(ViewController)已经在堆栈中,那么它可以再次打开.设V1是视图控制器.我从V1到v2转到V1-> V2而不是V2-> V3.现在我想从V3打开V1.我正在使用NavigationViewController打开屏幕 -
let help = V1(nibName : "V1" , bundle: nil)
navViewcontroller?.navigationController?.pushViewController(help, animated: true)
Run Code Online (Sandbox Code Playgroud)
这会创建一个新的V1屏幕我已经无法使用V1了.
请回答这是怎么回事,抱歉错误.
如果您确切知道堆栈中视图控制器的索引,那么您可以简单地使用:
let viewController = navigationController?.viewControllers[index]
navigationController?.popToViewController(viewController, animated: true)
Run Code Online (Sandbox Code Playgroud)
否则,您可以遍历视图控制器并找到它:
for viewController in (navigationController?.viewControllers)! {
if viewController is LoginMobileVC { // LoginMobileVC is your view controller class
navigationController?.popToViewController(viewController, animated: true)
break
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |