返回

iOS UI状态保存和恢复(二)

IOS

什么是状态栏?

状态栏是位于屏幕顶部的区域,它显示了设备的状态信息,例如时间、电池电量、信号强度和网络连接。

什么是导航栏?

导航栏是位于屏幕底部的区域,它显示了当前界面的标题和导航按钮。

什么是工具栏?

工具栏是位于屏幕中间的区域,它显示了一组工具按钮。

什么是分段控件?

分段控件是一个控件,它允许用户在多个选项之间进行选择。

什么是开关?

开关是一个控件,它允许用户打开或关闭一个功能。

什么是滑块?

滑块是一个控件,它允许用户在一个范围内选择一个值。

什么是文本输入框?

文本输入框是一个控件,它允许用户输入文本。

什么是文本视图?

文本视图是一个控件,它允许用户查看和编辑文本。

什么是图像视图?

图像视图是一个控件,它允许用户查看图像。

什么是表视图?

表视图是一个控件,它显示了一组行数据。

什么是集合视图?

集合视图是一个控件,它显示了一组元素,这些元素可以是任意大小和形状。

什么是网格视图?

网格视图是一个控件,它显示了一组元素,这些元素排列在网格中。

什么是分组视图?

分组视图是一个控件,它将数据分组并显示在不同的组中。

什么是标签视图?

标签视图是一个控件,它显示了一组标签,用户可以选择这些标签来切换不同的视图。

什么是分页视图?

分页视图是一个控件,它显示了一组页面,用户可以左右滑动来切换不同的页面。

什么是地图视图?

地图视图是一个控件,它显示了一张地图,用户可以拖动和缩放地图来查看不同的区域。

什么是网络视图?

网络视图是一个控件,它显示了一个网页,用户可以浏览网页上的内容。

什么是视频视图?

视频视图是一个控件,它显示了一个视频,用户可以播放、暂停和停止视频。

什么是日历视图?

日历视图是一个控件,它显示了一个日历,用户可以选择不同的日期和时间。

什么是联系人和地址簿视图?

联系人和地址簿视图是一个控件,它显示了用户的联系人信息和地址信息。

什么是核心图像视图?

核心图像视图是一个控件,它允许用户使用核心图像框架来处理图像。

什么是金属视图?

金属视图是一个控件,它允许用户使用金属框架来渲染图形。

什么是场景视图?

场景视图是一个控件,它允许用户创建和管理3D场景。

如何实现UI状态保存和恢复?

要实现UI状态保存和恢复,我们需要重写UIViewController中的两个方法:

  • encodeRestorableStateWithCoder:

    这个方法在视图控制器即将被销毁时被调用,它需要将视图控制器的状态保存到一个编码器中。

  • restoreStateWithCoder:

    这个方法在视图控制器即将被创建时被调用,它需要从一个解码器中恢复视图控制器的状态。

设置完这两项,真的就可以了吗?

我们可能会发现新建一个工程,直接使用自带的ViewController打个断点,发现成功调用UIViewController中重写的encodeRestorableStateWithCoder 和de..