我应该如何弹出到特定的视图控制器?
Posted
技术标签:
【中文标题】我应该如何弹出到特定的视图控制器?【英文标题】:How should I pop to a specific view controller? 【发布时间】:2012-07-25 17:43:39 【问题描述】:我正在创建一个通用的 ios 应用程序,它本质上是一个长订单页面。用户从购物车屏幕开始,然后通过一系列 4 个不同的屏幕(不同的 VC)线性前进(使用 UINavigationController)。一旦他们到达最后一个屏幕,新闻提交,我希望应用程序将用户带回购物车屏幕。但是,购物车屏幕不是根视图控制器,因此我不能使用[self.navigationController popToRootViewControllerAnimated:YES];
。我应该如何做到这一点?人们通常如何做到这一点?
我想到的一些想法是:
1) 维护一个全局变量,即我要弹出的 VC?例如,每当用户进入购物车页面时,我都会将购物车 VC 设置为这个全局变量的值。
2) 一旦我在最后一页,循环遍历导航控制器堆栈上的 VC 堆栈,然后当我找到我想要的类型之一(同一类)时,我会弹出它。
有没有更好的方法来做到这一点?我缺少一些神奇的 API 吗?人们在这种情况下会做什么?
【问题讨论】:
我认为你的第二种方法很好用。 【参考方案1】:用途:
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated
也就是说,找到您的购物车对象并将其用作 viewController 参数。
【讨论】:
很久没用Cocoa了,忘了你也可以这样。以上是关于我应该如何弹出到特定的视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章