gpt4 book ai didi

ios - 推送 ViewController 时清除 navigationController 堆栈

转载 作者:行者123 更新时间:2023-11-29 10:45:38 25 4
gpt4 key购买 nike

我有一个导航 Controller ,可以推送一些 View Controller 。它工作正常,但我无法清除导航 Controller 堆栈,所以我收到内存警告...

这是我想做的:

Viewcontroller 1 : HomeViewController
ViewController 2 : LandingPageViewController
ViewController 3 : DetailsInnovViewController

homeViewController -> Push -> landingPageViewController -> Push -> detailsPageViewController -> Push -> homeViewController

它可以工作,但我想要一个新的 homeViewController,而不是旧的。 Si 它可以从导航 Controller 中删除。

下面是我如何使用我的 navigationController 从 detailsPageViewController 推送 homeViewController:

- (void)pushHomeVC
{
[LoginModel incrementCountedInnov];

for (UIViewController* vc in self.viewControllers) {
if ([vc isKindOfClass:[DetailsInnovViewController class]]) {
DetailsInnovViewController* dpvc = (DetailsInnovViewController*)vc;
[dpvc bannerHide];
break;
}
}

for (UIViewController* vc in self.viewControllers) {
if ([vc isKindOfClass:[HomeViewController class]]) {
[self popToRootViewControllerAnimated:NO];
[self pushViewController:vc animated:YES];
break;
}
}
}

感谢您的帮助!

最佳答案

我知道这是一个老问题,但我最近遇到了类似的问题,发现这个解决方案对我有用:

[navigationController pushViewController:viewController animated:YES];
[navigationController setViewControllers:@[navigationController.topViewController]];

关于ios - 推送 ViewController 时清除 navigationController 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22503503/

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