【问题标题】:How do I completely kill a View Controller?如何完全杀死视图控制器?
【发布时间】:2011-07-25 12:22:50
【问题描述】:

在我的应用程序中,我正在使用 presentModalViewController 更改视图,然后在最后释放新的视图控制器,但不知何故它使旧的视图控制器保持活动状态。那么有什么方法可以完全杀死我没有使用的视图控制器? 谢谢!

【问题讨论】:

    标签: iphone objective-c ios view controller


    【解决方案1】:

    不使用 presentModalViewController。通过使用 presentModalViewController,新视图将显示在 inside 原始视图中,只是动画看起来像是在其上方。

    【讨论】:

    • 如何在释放旧视图控制器的同时使用类似的动画切换视图?
    • 您需要自己在主 ViewController 中对其进行动画处理。没那么难。
    • 所以没有办法杀死视图控制器。所以我唯一的选择是在主视图上使用 addsubview?
    • 有点,是的。当您释放任何对象(甚至是视图控制器)并且它的保留计数达到零时,它将被“杀死”。但这对 presentModalView 不起作用,因为呈现这样的新 VC 并不能取代父级。您将需要创建一个“主”视图控制器并将不同视图控制器的视图添加到其中。
    • 在这一点上,我认为对我的应用程序进行过多的重新建模。那么有什么方法可以暂停一个视图,以便该视图中的所有代码停止执行,直到它以模态方式呈现?
    【解决方案2】:

    您也应该释放控制器内的所有视图,这可能是您的问题。

    【讨论】:

    • 所以我会做 [self.view release];在我的切换视图代码之前?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多