Version: Unity 6.0 (6000.0)
语言 : 中文
Create a default Inspector
支持运行时 UI

View Data 持久性

View Data 持久性保留了与__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
See in Glossary
中的视觉元素关联的视图数据。View Data 是指不属于 UI 底层数据模型的用户界面的状态。例如,View Data 可以包括滚动条的滚动位置或列表的选择。

View Data 持久性解决了编辑器中某些事件期间 UI 视图数据无法持续存在的问题:

  • 域重新加载,例如进入播放模式或更改脚本时
  • 窗口关闭或重新打开,例如在更改编辑器布局时
  • 编辑器重新启动

注意:View Data 持久性仅在编辑器 UI 中有效。

要为支持视图数据的元素启用 View Data 持久性,请将视图数据键设置为编辑器窗口中的唯一字符串(EditorWindow 类型)。您可以在 UI Builder、UXML 或 C# 中进行设置:

  • 在 UI Builder 中,将该键设置为元素的 Inspector 面板中 Attributes 部分的 View Data Key 字段。
  • 在 UXML 中,使用 view-data-key 属性设置键。
  • 在 C# 中,使用 viewDataKey 属性设置键。

以下元素目前支持 View Data 持久性:

  • 滚动视图 (ScrollView)

  • ListView

  • Foldout

  • TreeView

  • MultiColumnListView

  • MultiColumnTreeView

  • TabView 启用 View Data 持久性时,这些元素会记住其内部视图状态:

  • 对于__ ScrollView__一种 UI 控件,可在可视区域内显示一大组控件,可以使用滚动条查看这些控件。更多信息
    See in Glossary
    ,它会记住滚动位置。

  • 对于 ListView,它会记住所选内容。

  • 对于 Foldout,它会记住展开的状态。

  • 对于 TreeView,它会记住所选内容。

  • 对于 MultiColumnTreeView 和 MultiColumnListView,它会记住所选内容以及列的顺序、排序和宽度。

  • 对于 TabView,它会记住所选选项卡。

要为只读元素启用 View Data 持久性,请针对父元素设置视图数据键。

例如,ScrollView 有几个只读 Scroller 子元素。每个 Scroller 都被分配一个在 ScrollView 元素中唯一的视图数据键。如果为 Foldout 设置了视图数据键,则 Foldout 的视图数据会持续存在。尽管 Scroller 有键,但其视图数据不会被持久化。您必须为其父 ScrollView 设置视图数据键才能启用持久性。Scroller 会将其视图数据键与父级的视图数据键合并,从而创建一个唯一的全局视图数据键。

注意:目前,添加对 View Data 持久性的支持所需的 API 是内部 API,这意味着无法为自定义控件启用 View Data 持久性。

其他资源

Create a default Inspector
支持运行时 UI