iOS应用状态保存和恢复
2017-08-31 17:34
204 查看
应用场景:
当程序进入后台时候,把用户当前查看的页面层级保存起来,如果应用停止运行,那么用户在下次打开应用的时候,可以按照之前保存的状态恢复现场,让用户看起来仿佛从来没有关闭过一样。
实现步骤:
1.首先在AppDelegate中实现如下方法:
- (BOOL)application:(UIApplication )application shouldRestoreApplicationState:(NSCoder )coder
{
return YES; //允许恢复应用状态
}
- (BOOL)application:(UIApplication )application shouldSaveApplicationState:(NSCoder )coder
{
return YES; //允许存储应用状态
}
2.然后对需要状态保存的控制器和view设置Restoration ID
1)xib或者sb中添加Restoration ID (注意:需要对控制器所在链路上的所有控制器设置Restoration ID,可随意设置)
2)纯代码添加Restoration ID
注意点:
遵守UIViewControllerRestoration协议
并实现代理相关方法:
代理方法的作用:返回重新打开应用时看到的控制器,我们可以对这个控制器进行相关设置,并且执行这个方法会重新执行控制器的加载。
3.存储额外的与viewController相关的信息
在对应的控制器中实现如下方法:
4.存储更多与User Interface无关的信息
在AppDelegate中实现如下方法:
一点思考:
使用场景:原则上任何地方都可以使用,但是每个控制器都添加的话比较麻烦,所以建议可以选择一些有用户输入或者用户设置等用户操作的页面添加,避免用户重复输入。
当程序进入后台时候,把用户当前查看的页面层级保存起来,如果应用停止运行,那么用户在下次打开应用的时候,可以按照之前保存的状态恢复现场,让用户看起来仿佛从来没有关闭过一样。
实现步骤:
1.首先在AppDelegate中实现如下方法:
- (BOOL)application:(UIApplication )application shouldRestoreApplicationState:(NSCoder )coder
{
return YES; //允许恢复应用状态
}
- (BOOL)application:(UIApplication )application shouldSaveApplicationState:(NSCoder )coder
{
return YES; //允许存储应用状态
}
2.然后对需要状态保存的控制器和view设置Restoration ID
1)xib或者sb中添加Restoration ID (注意:需要对控制器所在链路上的所有控制器设置Restoration ID,可随意设置)
2)纯代码添加Restoration ID
注意点:
遵守UIViewControllerRestoration协议
并实现代理相关方法:
代理方法的作用:返回重新打开应用时看到的控制器,我们可以对这个控制器进行相关设置,并且执行这个方法会重新执行控制器的加载。
3.存储额外的与viewController相关的信息
在对应的控制器中实现如下方法:
4.存储更多与User Interface无关的信息
在AppDelegate中实现如下方法:
一点思考:
使用场景:原则上任何地方都可以使用,但是每个控制器都添加的话比较麻烦,所以建议可以选择一些有用户输入或者用户设置等用户操作的页面添加,避免用户重复输入。
相关文章推荐
- IOS 6 UI状态保存与恢复
- iOS 保存、读取与应用状态
- IOS 6 UI状态保存与恢复
- iOS应用状态恢复
- iOS 应用状态恢复
- iOS 应用状态恢复
- iOS 应用状态恢复
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- 让ios 7的状态条恢复原样
- canvas 状态的保存和恢复 Saving and restoring state
- Android 应用保存状态
- 保存和恢复activity的状态数据
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- Android中Activity状态的保存和恢复:onSaveInstanceState和onRestoreInstanceState方法
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
- IOS 实现UI状态保持和恢复