gpt4 book ai didi

iphone - 调用 popViewController 动画两次

转载 作者:行者123 更新时间:2023-12-03 18:16:31 26 4
gpt4 key购买 nike

我有一个 UINavigationController ,上面有一系列 UIViewControllers 。在某些情况下,我想正好弹回两个级别。我以为我可以通过连续两次调用 popViewControllerAnimated 来做到这一点,但事实证明,我第二次调用它时,它没有弹出任何内容,而是返回 NULL。我是否需要存储对目标 VC 的引用并调用 popToViewControllerAnimated?我可以做到这一点,但它使我的代码变得复杂,因为当我将 VC 插入堆栈时,我必须传递 UIViewController* 。

这是相关的片段:

UIViewController* one = [self.navigationController popViewControllerAnimated:YES];
if (...) {
// pop twice if we were doing XYZ
UIViewController *two = [self.navigationController popViewControllerAnimated:YES];
// stored in "one" and "two" for debugging, "two" is always 0 here.
}

我在这里做了什么奇怪的事情吗?我想编写惯用的代码,因此如果“正确”的方法是调用 popToViewControllerAnimated 或其他完全不同的方法,我会很乐意更改它。

最佳答案

在这种情况下,您需要弹回导航 Controller 中的特定 View Controller ,如下所示:

[self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:2] animated:YES];

该代码将弹出到导航 Controller 堆栈上的第三个 View Controller 。

关于iphone - 调用 popViewController 动画两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1122988/

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