gpt4 book ai didi

ios - 弹出到 Root View 后推送 UIViewController

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:40 25 4
gpt4 key购买 nike

我有一个使用 Storyboard和导航 Controller 的应用程序。在我的应用程序流程的某个阶段,我在 View 堆栈上获得了大约四个 View ,此时我必须弹出所有 View ,直到到达 Root View 。之后我需要手动推送另一个 View 。

我尝试过各种方法,但都不走运。我尝试使用内置 API 调用:

[self.navigationController popToRootViewControllerAnimated:YES];

此时我尝试通过引用 Root View 并调用 segue 方法来调用推送 segue。

RootView *obj = [[RootView alloc] init];
[obj callSegue];

或者

[self.navigationController performSegueWithIdentifier:@"pushView" sender:self];

无论如何,我完全被这个难住了。谁能帮忙?

更新:

谢谢大家的回复。我正在进一步挖掘并找到了一个解决方案,我确信这是众多解决方案中的一个。

// Reference to navigation controller. Apparently if you use self.navigationController in a popToRootViewController call it sets self.navigationController to nil.
UINavigationController *navigationController = self.navigationController;
[navigationController popToRootViewControllerAnimated:NO];

// Reference to view to push - must set storyboard ID in inspector
ViewToPush *viewRef = (ViewToPush *)[self.storyboard instantiateViewControllerWithIdentifier:@"gameView"];
[navigationController pushViewController:gameView animated:NO];

最佳答案

这个怎么样?

[self.navigationController setViewControllers:@[rootViewController, viewControllerTwo] animated:YES];

这会将您的堆栈设置为根,并使用新的 Controller 和推送动画。如果您需要 rootViewController 的快速引用,您可以使用 [[self.navigationController viewControllers] objectAtIndex:0]

关于ios - 弹出到 Root View 后推送 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15701644/

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