2

在我的 iOS 应用程序中,我有四个UIViewControllers,为了便于讨论,我们称它们为 1、2、3 和 4。我有从一个逐渐引导到下一个的 segues(1->2、2->3、3 -> 4)。但是,在 4 中,我希望有一个可以继续返回的按钮。我只描绘了一种方法,但我无法弄清楚如何实现它......

这种方式是有一个直接连接 4->1 的 segue,当调用 segue 时,从内存中删除 2 和 3(否则用户可以继续构建UIViewControllers,因为它们都没有被删除)。我不知道如何从内存中删除它们,因为我没有任何变量指向它们(也就是说,它们是在调用它们各自的 segue 时创建的,据我所知,我无法直接访问他们)。

我不知道这是否是最好的方法,但如果你能弄清楚如何做到这一点(或更好的方法),任何帮助表示赞赏:)

4

2 回答 2

2

如果您还没有,则需要使用 UINavigationController。

然后在您的第四个视图中,您只需要一个带有选择器的按钮,它执行以下操作:

- (IBAction)goBackToFirstView:(id)sender {
    [self.navigationController popToRootViewControllerAnimated:YES];
}

这将为您处理所有内存,并通过将其他所有内容从堆栈中弹出来将您送回第一个视图控制器。

于 2012-05-05T02:13:12.383 回答
0
    NSArray *array = [NSArray arrayWithObject:[navigationController.viewControllers objectAtIndex:navigation.viewControllers.count-1]];
    navigationController.viewControllers = array;

然后执行segue。

于 2012-05-05T02:10:19.413 回答