iOS UI状态保存和恢复(二)
2024-02-08 06:31:06
什么是状态栏?
状态栏是位于屏幕顶部的区域,它显示了设备的状态信息,例如时间、电池电量、信号强度和网络连接。
什么是导航栏?
导航栏是位于屏幕底部的区域,它显示了当前界面的标题和导航按钮。
什么是工具栏?
工具栏是位于屏幕中间的区域,它显示了一组工具按钮。
什么是分段控件?
分段控件是一个控件,它允许用户在多个选项之间进行选择。
什么是开关?
开关是一个控件,它允许用户打开或关闭一个功能。
什么是滑块?
滑块是一个控件,它允许用户在一个范围内选择一个值。
什么是文本输入框?
文本输入框是一个控件,它允许用户输入文本。
什么是文本视图?
文本视图是一个控件,它允许用户查看和编辑文本。
什么是图像视图?
图像视图是一个控件,它允许用户查看图像。
什么是表视图?
表视图是一个控件,它显示了一组行数据。
什么是集合视图?
集合视图是一个控件,它显示了一组元素,这些元素可以是任意大小和形状。
什么是网格视图?
网格视图是一个控件,它显示了一组元素,这些元素排列在网格中。
什么是分组视图?
分组视图是一个控件,它将数据分组并显示在不同的组中。
什么是标签视图?
标签视图是一个控件,它显示了一组标签,用户可以选择这些标签来切换不同的视图。
什么是分页视图?
分页视图是一个控件,它显示了一组页面,用户可以左右滑动来切换不同的页面。
什么是地图视图?
地图视图是一个控件,它显示了一张地图,用户可以拖动和缩放地图来查看不同的区域。
什么是网络视图?
网络视图是一个控件,它显示了一个网页,用户可以浏览网页上的内容。
什么是视频视图?
视频视图是一个控件,它显示了一个视频,用户可以播放、暂停和停止视频。
什么是日历视图?
日历视图是一个控件,它显示了一个日历,用户可以选择不同的日期和时间。
什么是联系人和地址簿视图?
联系人和地址簿视图是一个控件,它显示了用户的联系人信息和地址信息。
什么是核心图像视图?
核心图像视图是一个控件,它允许用户使用核心图像框架来处理图像。
什么是金属视图?
金属视图是一个控件,它允许用户使用金属框架来渲染图形。
什么是场景视图?
场景视图是一个控件,它允许用户创建和管理3D场景。
如何实现UI状态保存和恢复?
要实现UI状态保存和恢复,我们需要重写UIViewController中的两个方法:
-
encodeRestorableStateWithCoder:
这个方法在视图控制器即将被销毁时被调用,它需要将视图控制器的状态保存到一个编码器中。
-
restoreStateWithCoder:
这个方法在视图控制器即将被创建时被调用,它需要从一个解码器中恢复视图控制器的状态。
设置完这两项,真的就可以了吗?
我们可能会发现新建一个工程,直接使用自带的ViewController打个断点,发现成功调用UIViewController中重写的encodeRestorableStateWithCoder 和de..