1 视图基础

原文链接: https://developer.apple.com/documentation/swiftui/view-fundamentals

1 视图基础

用视图层级定义应用的视觉元素。

概述

视图是你用来声明应用用户界面的构建单元。每个视图都包含一段描述,说明在给定状态下要显示什么。应用中用户能看到的每一处内容都源自视图中的描述,任何遵循 View 协议的类型都可以在应用中充当视图。

在视图的 body 计算属性中,把 SwiftUI 提供的内置视图与你创建的其他自定义视图组合起来,就构成一个自定义视图。你可以用 SwiftUI 提供的视图修饰符配置视图,也可以用 ViewModifier 协议和 modifier(_:) 方法定义自己的视图修饰符。

创建视图

  • 声明自定义视图 —— 定义视图并把它们组装成视图层级。
  • Wishlist:在 SwiftUI 应用中规划旅行 —— 构建一个旅行规划应用,把行程整理进合集并跟踪活动完成情况。
  • View —— 表示应用用户界面中一部分的类型,并提供用来配置视图的修饰符。
  • ContentBuilder —— 从闭包构造视图和其他内容类型的自定义参数特性。
  • ViewBuilder —— 从闭包构造视图的自定义参数特性。

修改视图

响应视图生命周期更新

分配任务

管理视图层级

  • id(_:) —— 把视图的身份绑定到给定的代理值。
  • tag(_:includeOptional:) —— 设置该视图的唯一标签值。
  • equatable() —— 当新值与旧值相同时,阻止视图更新其子视图。

支持的内容类型

  • EmptyContent —— 不含任何内容的内容。
  • TupleContent —— 由一组内容元组创建、被视为同级的内容。

支持的视图类型

  • AnyView —— 类型擦除的视图。
  • EmptyView —— 不含任何内容的视图。
  • EquatableView —— 把自身与其之前的值比较、并在新值与旧值相同时阻止子视图更新的视图类型。
  • SubscriptionView —— 带动作订阅某个发布者的视图。
  • TupleView —— 由 Swift 的视图值元组创建的视图。