【问题标题】:iOS Controller questioniOS 控制器问题
【发布时间】:2011-10-28 07:18:30
【问题描述】:

此设置是否有任何问题: 我有三个视图控制器 1.主视图控制器(启动应用程序时启动) 2.选择关卡视图控制器 3. 游戏视图控制器

我用

        [self presentModalViewController:tmpControler animated:YES];

要从 (1) 到 (2),这是在第一个视图控制器中完成的,tmpControler 是选择级别控制器的一个实例。 然后我使用

GameplayViewController *tmpControler = [[GameplayViewController alloc] initWithNibName:nil bundle:nil];
tmpControler.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
self.window.rootViewController = tmpControler;
[tmpControler release];

要从 (2) 到 (3),这是在应用程序委托中完成的。当我玩完游戏后,我想使用与(2)到(3)相同的技术切换回(1)。我的问题是使用 presentModalViewController 从 (1) 到 (2) 是否有任何问题。第二个视图控制器在堆栈上吗?因为我从不使用:

[self dismissModalViewControllerAnimated:YES];

关闭它。

有没有更聪明的方式来按这个顺序(1->2->3->1)切换视图?

【问题讨论】:

  • 对不起,我尝试阅读您所写的内容无法理解您要达到的目标。
  • @Nicke:感谢您的编辑,现在更容易理解了。
  • 比你。很抱歉蜜蜂不准确!

标签: iphone ios model-view-controller memory-management controller


【解决方案1】:

不,这不是一个真正的问题。视图控制器在屏幕外时相对轻量级(例如,当被模态视图控制器覆盖时,就像你在这里所做的那样);如果您的应用开始运行可用内存不足,第一个视图控制器将自动卸载其视图。

【讨论】:

  • 感谢您的快速答复。但是,在三个序列中切换控制器(以及视图)的最佳方式是什么?在这种情况下,在委托中切换 rootviewcontroller 是否最佳?
【解决方案2】:

我无法真正理解您的问题,但请尝试以下代码:

[self dismissModalViewControllerAnimated:YES];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 2011-01-04
    • 2010-12-09
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多