【问题标题】:Avoid/Disable state preservation in iOS在 iOS 中避免/禁用状态保存
【发布时间】:2018-09-22 00:45:19
【问题描述】:

我正在开发一个具有以下接口的小型应用程序(假设)
启动屏幕 -> 屏幕 X -> 屏幕 Y

问题是,当我关闭应用程序并同时再次打开它时,它会再次显示上次看到的屏幕,然后显示启动屏幕,然后显示初始视图控制器。

我也检查了其他一些应用程序,但它们的行为并非如此,例如谷歌地图。

我还在 AppDelegate 中实现了以下两个方法,如下所示

func application(_ application: UIApplication, shouldSaveApplicationState coder: NSCoder) -> Bool {
        return false
    }

func application(_ application: UIApplication, shouldRestoreApplicationState coder: NSCoder) -> Bool {
        return false
    }

但没有任何效果。有人可以建议我该怎么做

谢谢。

【问题讨论】:

  • 当您说“关闭应用程序”时,您究竟是什么意思?您是强制退出应用还是只是将其置于后台并返回前台?
  • 强行关闭它。不进入后台。

标签: ios objective-c swift


【解决方案1】:

不确定这是否会有所帮助,但您可以像我一样使用NotificationCenter

// In something like viewDidLoad
NotificationCenter.default.addObserver(self, selector: #selector(returnedFromBackground), name: NSNotification.Name.UIApplicationWillEnterForeground, object: nil)

...

@objc func returnedFromBackground() {
    // Anything you want to preserve/save/do and then segue (or whatever you use) to your launching screen
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多