0

我是 iPhone 编程新手。而且,我正在尝试制作一个有 200 个关卡的游戏。我想使用模态搜索,因为我不希望导航栏位于顶部,而且我想要交叉溶解动画。说我有vc之一。然后我有vc 2

好的,所以 vc 1 模态地转到 vc 2

然后我在 vc 2 上有一个按钮可以切换回 vc 1

那么,程序是否知道将 vc 2 从堆栈中弹出?还是我只是创建了内存泄漏,以便现在 vc1、vc2 和 vc1 在堆栈上,而不仅仅是 vc1。

然后如果我有 vc1 到 vc2,vc2 到 vc3,并且在 vc3 中我有一个返回到 vc 1 的按钮,程序是否会将 vc 2 和 vc 3 从堆栈中弹出?还是 4 会在堆栈上?无论如何,由于模态转场没有真正的后退按钮(就像在导航推送转场中导航栏上总是有一个后退按钮),模态转场甚至有堆栈吗?

我的意思是,还是独立的?比如,说 vc 与 vc2 相连,而 vc2 与 vc3 相连。现在,vc 2 和 1 甚至在堆栈上吗?还是只是vc3?

对不起,我只是对这一切有点困惑,我不知道如何制作我的游戏。因为如果我有 100 个不同级别的视图控制器,那么肯定为了进行模态搜索,每次我正确搜索时,我都需要编写一些从堆栈中弹出的 vcs 代码,这样我就不会在堆栈上得到 100 个控制器? 而且我什至不知道如何告诉我的程序如何弹出视图控制器。

4

1 回答 1

2

因此,模态转场主要用于呈现中断应用程序通常流程的内容。它真的不适合顺序呈现多个视图控制器,因为正如您所说,如果您有一个可以返回到第一个视图控制器的 segue,它不会从堆栈中弹出任何内容。

您想查找 Apple 提供的 View Controller 容器之一,以查看哪个最适合通过视图控制器的顺序列表。

页面视图控制器很有用,因为它一次只加载一个或两个视图控制器,并且从 iOS 5 开始,您可以将transitionStyle属性设置为 'UIPageViewControllerTransitionStyleScroll' 以在视图控制器之间左右(或上下)滚动。

如果您不喜欢苹果为此提供的视图控制器,请查看 UIViewController 的文档,了解如何编写您自己的自定义容器视图控制器。通过这种方式,您可以定义自己的堆栈,根据需要弹出堆栈并进行溶解过渡。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html%23//apple_ref/doc/uid/TP40006926-CH3-SW81

于 2012-08-03T22:04:23.390 回答