gpt4 book ai didi

ios - 弹出 View Controller ,然后同时关闭前一个 View Controller

转载 作者:行者123 更新时间:2023-12-01 18:06:49 25 4
gpt4 key购买 nike

我的主视图 Controller A 呈现 View Controller B,然后将 View Controller C 推送到其(B 的)导航堆栈上。现在,从C,我希望能够直接到A。如果我从C运行dismissViewController,动画不流畅,如果我将C弹出到B然后关闭B,则有两个单独/不同的动画,其中我不想。

有没有办法让我直接从 C 转到 A 而无需中间过渡?

因此,运行以下(从 C 开始)显示了一个突然的转换

[self dismissViewControllerAnimated:YES completion:nil];

而运行以下(来自C)显示两个单独的转换......
UIViewController *previousViewController = [self.navigationController.viewControllers 
objectAtIndex:(self.navigationController.viewControllers.count - 2)];
[self.navigationController popViewControllerAnimated:YES];
[previousViewController dismissViewControllerAnimated:YES completion:nil];

最佳答案

使用popToViewController:animated:

[self.navigationController popToViewController: self.navigationController.viewControllers.firstObject animated: YES];

或者,使用 setViewControllers:animated:
NSMutableArray* viewControllers = [self.navigationController.viewControllers mutableCopy];
[viewControllers removeLastObject];
[viewControllers removeLastObject];
[self.navigationController setViewControllers: viewControllers animated: YES];

关于ios - 弹出 View Controller ,然后同时关闭前一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40916931/

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