3 自定义布局

原文链接: https://developer.apple.com/documentation/swiftui/custom-layout

3 自定义布局

按自定义方式排列视图,并在不同布局类型之间创建动画过渡。

概述

你可以用 SwiftUI 提供的内置布局容器和布局视图修饰符创建复杂的视图布局。不过,如果你需要某种内置布局工具无法实现的行为,可以用 Layout 协议创建自定义布局容器类型。你定义的容器会先询问所有子视图的尺寸,然后指明把这些子视图放在自身边界内的什么位置。

你还可以在遵循 Layout 协议的各种布局类型(包括内置布局和自定义布局)之间创建动画过渡。

关于设计指导,请参阅 Human Interface Guidelines 中的 布局。

创建自定义布局容器

配置自定义布局

在自定义布局中把值与视图关联

在布局类型之间过渡

  • AnyLayout — 类型被抹除的布局协议实例。
  • HStackLayout — 一种可用于条件布局的水平容器。
  • VStackLayout — 一种可用于条件布局的垂直容器。
  • ZStackLayout — 一种可用于条件布局的叠加容器。
  • GridLayout — 一种可用于条件布局的网格。