gpt4 book ai didi

ios - 如何打开堆栈中已有的屏幕而不是在 IOS 中创建新屏幕

转载 作者:搜寻专家 更新时间:2023-11-01 05:55:42 24 4
gpt4 key购买 nike

我面临一个问题,如果屏幕 (ViewController) 已经在堆栈中,则无法再次打开它。让 V1 是一个 View Controller 。我从 V1 转到 v2,如 V1->V2,然后是 V2->V3。现在我想从 V3 打开 V1。我正在使用 NavigationViewController 将屏幕打开为 -

let help = V1(nibName : "V1" , bundle:  nil)
navViewcontroller?.navigationController?.pushViewController(help, animated: true)

这会创建一个新的 V1 屏幕,我无法使用已经堆叠的 V1。

请回答怎么可能,如有错误请见谅

最佳答案

如果您确切知道 View Controller 在堆栈中的索引,那么您可以简单地使用:

let viewController = navigationController?.viewControllers[index]
navigationController?.popToViewController(viewController, animated: true)

否则你可以遍历你的 View Controller 并找到它:

for viewController in (navigationController?.viewControllers)! {
if viewController is LoginMobileVC { // LoginMobileVC is your view controller class
navigationController?.popToViewController(viewController, animated: true)
break
}
}

关于ios - 如何打开堆栈中已有的屏幕而不是在 IOS 中创建新屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48109532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com