【问题标题】:IOS - Disable View Cache in View ControllerIOS - 在视图控制器中禁用视图缓存
【发布时间】:2012-10-15 09:46:28
【问题描述】:

我在我的应用程序中从一个视图推送和弹出到另一个视图。视图会保留在内存中,因此当您在推送视图后点击“返回”按钮时,会保留您推送视图之前的屏幕。

出于某种原因,我需要在从子视图弹出后重新加载父视图。我需要根据用户在重定向到子视图时所采取的操作来显示不同的内容。

我正在使用 UINavigationController 从一个视图导航到另一个视图。我需要它,以便我可以轻松地在应用程序的不同视图中来回切换。

【问题讨论】:

  • 为什么不用viewDidAppear:来修改视图呢?你在viewDidLoad做的事情,只会发生一次,可以在这里做。
  • 这是一个我不知道的好技巧。我将在今天晚些时候尝试一下,如果成功,我会回来接受你的回答。您能否同时发布此作为答案?谢谢!

标签: ios uinavigationcontroller


【解决方案1】:

执行此操作的正确方法是在viewDidAppear 中执行您的操作。您在viewDidLoad 中编写的初始化代码仅被调用一次。但是在viewDidAppear 中,您可以在每次将视图添加到窗口时刷新视图的内容。出于性能原因,控制器保留在内存中。删除它会妨碍这个因素。

Here is a stack overflow post that explains the different view* callbacks in good detail.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多