代码之家  ›  专栏  ›  技术社区  ›  Anirudha Mahale

iOS应用程序在后台时返回rootViewController

  •  0
  • Anirudha Mahale  · 技术社区  · 7 年前

    当我的iOS应用程序在后台停留更长时间时,会返回到rootViewController。 为了证明我有下面的图片 enter image description here

    我一直导航到ViewControllerC并将应用程序放在后台,当我返回应用程序时(比如30分钟后),应用程序显示rootViewController,即ViewControllerA。

    我希望它保持在ViewControllerC上,就像它保持在Whatsapp上一样。我知道,当系统内存不足时,我的应用程序(空闲应用程序)将从内存中删除,因此当我打开应用程序时,它会将我带回指定的初始视图控制器。但是whatsapp为什么不这样呢?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Si Nguyen    7 年前

    苹果为这种情况提供了一种解决方案:UIViewController和App委托具有允许您保存和恢复状态的方法。当应用程序进入后台时,将保存当前配置(view controller的视图显示的内容)。这样,即使当应用程序退出时,当它重新启动时,也可以在它出现在用户面前之前返回到该配置。因此,从背景中回来并退出就像从单纯的背景中回来一样。

    有关详细信息,请参阅苹果的文档。这是一个很好的起点:

    https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/PreservingandRestoringState.html