没有堆栈的Storyboard Segues?

3
我正在开发一个应用程序,包含三个屏幕——相机捕捉屏幕(A)、处理屏幕(B)和显示处理结果的屏幕(C)。应用程序从A转到B再到C,然后再回到A,如此循环(即A->B->C->A->B...)。
如果我使用故事板segue实现这一点(A->B,B->C,C->A),则控制器堆栈将不断增长。
有什么好的设计方法来解决这个问题?

不会增长...确保在返回A时释放B和C。 - sheetal
不,如果你从 C 推到 A,那么它将不断变大。你不能回退。只能向前。要从 C 到达 A,你需要向后弹出或使用解开 segue。 - Fogmeister
1
[self.navigationController popToRootViewControllerAnimated:YES]; 应该可以解决问题。 - Ahmed Z.
1
取消展开转场是你的好朋友,可以轻松实现你想要的效果。你的目标iOS版本是什么? - Dan Fairaizl
1个回答

6

我认为,每当您在 C 视图控制器中结束流程时,都必须返回到 A 视图控制器,并重新开始任何其他流程。

假设您有一个导航控制器,您可以在处理完成后立即在 C 视图控制器中执行此操作:

[self.navigationController popToRootViewControllerAnimated:YES];

以这种方式,每次结束一个流程时,您的视图控制器B和C都将被释放。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接