gpt4 book ai didi

ios - 在 Objective c 中处理导航

转载 作者:行者123 更新时间:2023-12-01 18:56:40 24 4
gpt4 key购买 nike

我想我有点麻烦。我的 iPhone 应用程序中有 5 个 View Controller 。例如,它们的名称类似于一、二、三、四和五,它们的导航流程类似于 1->2->3->4->5。现在我的困惑是,当我单击第 5 个 View Controller 中的按钮时,我想查看第 3 个 View ,但是当我单击返回按钮时,它会返回到第 5 个 View 。我想要 2 代替 5。我该怎么做?我的代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
SettingViewController *dealVC1 = (SettingViewController *)[storyboard instantiateViewControllerWithIdentifier:@"SettingViewController"];
[self.navigationController pushViewController:dealVC1 animated:YES];

我使用上面的代码进行所有导航。

最佳答案

假设您所有的导航 Controller 都只是 UIViewController它们的标识符是vc1对于第一个 View Controller vc2第二等

现在假设您在第 5 个 View Controller 和您的父级 UINavigationController.viewControllers 中您拥有的数组:[vc1, vc2, vc3, vc4, vc5] .现在如果你想回到第二个 View Controller ,你应该在第五个 View Controller 中添加这个函数:

- (void)popTo2ndViewController {
NSArray *controllers = self.navigationController.viewControllers;
UIViewController *vc2 = controllers[1]; // If your viewControllers doesn't look like 1>2>3>4>5 here you may get an error.
[self.navigationController popToViewController:vc2 animated:YES];
}

要调用此函数,您应该覆盖@iDeveloper 在他的回答中提到的后退按钮操作。当 popTo2ndViewController将完成 self.navigationController数组看起来像: [vc1, vc2] .

关于ios - 在 Objective c 中处理导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26296500/

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