【问题标题】:How do I unload a view controller within a Tab Bar?如何在选项卡栏中卸载视图控制器?
【发布时间】:2012-06-05 00:16:14
【问题描述】:

我有一个带有两个视图的标签栏控制器(底部有两个按钮以匹配)。当我在第二个视图中并按下第一个按钮时,我不想简单地隐藏第二个视图,而是完全卸载它,直到再次访问它。

我应该如何以及在何处(从视图更改过程的哪一端——在标签栏的 firstButtonPressed 方法中,在第一个视图的 ViewWillAppear 方法中等)执行此操作?

【问题讨论】:

    标签: objective-c uiviewcontroller uitabbarcontroller


    【解决方案1】:

    这是为了节省内存,还是出于用户体验的原因?如果是第一种情况,并且您在 viewDidUnload 上取消了非弱 IBOutlet 属性,那么您就可以开始了。每当操作系统决定它需要更多内存时,它就会开始转储不在屏幕上的视图。

    如果是第二种情况,请在要丢弃的类的 viewDidDisappear 方法中执行您需要的操作(即根据需要从超级视图中删除并为零)。

    【讨论】:

    • 在这种情况下,我这样做是为了用户体验,但也很高兴知道正在处理此类可能的内存问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    相关资源
    最近更新 更多