gpt4 book ai didi

iphone - 从导航堆栈中删除 View Controller

转载 作者:IT王子 更新时间:2023-10-29 07:31:16 28 4
gpt4 key购买 nike

我有一个导航堆栈,其中包含 5 个 UIViewController。我想通过单击第 5 个 View Controller 中的按钮来删除堆栈中的第 3 个和第 4 个 View Controller 。是否有可能做到这一点?如果是怎么办?

最佳答案

使用此代码并享受:

NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers];

// [navigationArray removeAllObjects]; // This is just for remove all view controller from navigation stack.
[navigationArray removeObjectAtIndex: 2]; // You can pass your index here
self.navigationController.viewControllers = navigationArray;
[navigationArray release];

希望对您有所帮助。

编辑:Swift 代码

guard let navigationController = self.navigationController else { return }
var navigationArray = navigationController.viewControllers // To get all UIViewController stack as Array
navigationArray.remove(at: navigationArray.count - 2) // To remove previous UIViewController
self.navigationController?.viewControllers = navigationArray

编辑:删除除最后一个之外的所有 ViewController -> 左上角没有后退按钮

guard let navigationController = self.navigationController else { return }
var navigationArray = navigationController.viewControllers // To get all UIViewController stack as Array
let temp = navigationArray.last
navigationArray.removeAll()
navigationArray.append(temp!) //To remove all previous UIViewController except the last one
self.navigationController?.viewControllers = navigationArray

关于iphone - 从导航堆栈中删除 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281545/

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