OStack程序员社区-中国程序员成长平台

标题: objective-c - UINavigationController 的问题 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:47
标题: objective-c - UINavigationController 的问题

我在我的应用程序中使用 UINavigationController。在“返回”时,我想跳过一个 View 。我目前正在做的是:

在我不想看到的 View 的 viewDidAppear 中,我检查它是否从后退按钮单击中出现,如果是,我调用:

[self.navigationController popViewControllerAnimated:YES];

但是发生了什么:

不需要的 View 和前一个 View 变成一个 View (一个在另一个之上)。

更多解释:

不需要的 View 是第二个 View ,我想进入 Root View : 我使用的另一个代码是:

[self.navigationController popToRootViewControllerAnimation:YES]

这种方法的问题是2: a)我仍然在导航栏中得到一个我不应该得到的后退按钮 b)应该存在的工具栏项目不存在。 (不过,工具栏本身就在那里!)

谁能告诉我我在这里做错了什么?谢谢。



Best Answer-推荐答案


你可以试试这个:

int count = [self.navigationController.viewControllers count];
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:count-2]]

请记住,count 是一个从 0 开始的数组,因此只需考虑这一点,执行 count - x。

我也很确定这会起作用,但它看起来并不干净:

UINavigationController *navController = self.navigationController;

[navController popViewControllerAnimated:NO];
[navController popViewControllerAnimated:YES];

希望对您有所帮助。

关于objective-c - UINavigationController 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751414/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4