gpt4 book ai didi

iphone - 如何从一个 View Controller 弹出到另一个 View Controller

转载 作者:IT王子 更新时间:2023-10-29 08:01:54 25 4
gpt4 key购买 nike

使用 iOS 我有 15 个 ViewController,现在我想从一个 ViewController 弹出到另一个 View Controller。

我正在使用这段代码:

SecondViewController *Sec=[SecondViewController alloc]init];
[self.navigationController popViewController:Sec animated:YES];

这显示错误 this ViewController not exist 然后我使用这段代码:

NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:1] animated:YES];

这段代码是正确的从thirdViewController pop到secondViewController。但是当我们从 Ninth(9th)ViewController 弹出到 Fifth(5th)ViewController 然后我在 Ninth(9th)ViewController 中使用这段代码时发生了什么:

NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:4] animated:YES];

它不会从 Ninth(9th)ViewController 弹出到 Fifth(5th)ViewController 除了它弹出 Ninth(9th)ViewController 到 Eight(8th)ViewController。我不知道当我们使用这条线时发生了什么:

NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);

当我们在 Ninth(9th)ViewController 中使用它时。 NsLog 显示:

array=   First(1st)ViewController;  
Second(2nd)ViewController;
Eight(8th)ViewController;
Ninth(9th)ViewController;

我不知道为什么只有四个 View Controller 显示。每当我使用 15 个 View Controller 时。每个 View Controller 都会出现此问题。例如,如果我使用第十五 (15th)ViewController 到第五 (5th)ViewController 的 pop 形式,那么同样的问题就会出现。

NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);

array= First(1st)ViewController;
Second(2nd)ViewController;
fourteenth(14th)ViewController;
fifteenth(15th)ViewController;

我想计算 ViewController 的数量,然后弹出到特定的 ViewController。

最佳答案

您不能弹出到新的 View Controller (就像您对 secondViewController 示例所做的那样)。

当你使用 UINavigationController 时

添加 Controller 到栈中:

[self.navigationController pushViewController:<yournewViewController> animated:YES];

使用 :

跳转到上一个
[self.navigationController popViewControllerAnimated:YES];

弹出到堆栈中的前一个 Controller (之前必须已被压入):

[self.navigationController popToViewController:<ViewControllerToPopTo> animated:YES];

回到根 Controller

[self.navigationController popToRootViewControllerAnimated:YES];

关于iphone - 如何从一个 View Controller 弹出到另一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17859783/

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