0

我正在创建一个通用的 iOS 应用程序,它本质上是一个长订单页面。用户从购物车屏幕开始,然后通过一系列 4 个不同的屏幕(不同的 VC)线性前进(使用 UINavigationController)。一旦他们到达最后一个屏幕,新闻提交,我希望应用程序将用户带回购物车屏幕。但是,购物车屏幕不是根视图控制器,因此我无法使用[self.navigationController popToRootViewControllerAnimated:YES];. 我应该如何做到这一点?人们通常如何做到这一点?

我的一些想法是:

1) 维护一个全局变量,即我要弹出的 VC?例如,每当用户进入购物车页面时,我都会将购物车 VC 设置为这个全局变量的值。

2)一旦我在最后一页,循环遍历导航控制器堆栈上的 VC 堆栈,然后当我找到我想要的类型之一(同一类)时,我会弹出它。

有一个更好的方法吗?我缺少一些神奇的 API 吗?人们在这种情况下会做什么?

4

1 回答 1

2

采用:

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

也就是说,找到您的购物车对象并将其用作 viewController 参数。

于 2012-07-25T17:46:20.293 回答