+ 我要发布
我发布的 我的标签 发现
公开标签 #SwiftUI
使用 Stack、Grid、List 和 Form 构建灵活的用户界面。 概览 SwiftUI 提供广泛的容器视图,用于视图的分组和重复。一些容器专用于打造结构和布局,例如 Stack 视图、惰性 Stack 视图和 Grid 视图。另一些容器,例如 List 和 Form,也采用系统标准的视觉效果和交互。 为 App 用户界面的每个部分选择最合适的容器视图,是一项需要学习的重要技能;从确定相邻两个视图的位置,到使用数百种元素创建复杂的布局,它能在方方面面为你提供帮助。 对视图集合进行分组 Stack
将视图专用数据封装到 App 的视图层次结构中,使视图可以重复使用。 概览 如果视图需要数据来确定各视图间共享的单一数据源,则可以在视图最不常见的上级结构中将数据存储为状态。既可通过一个 Swift 属性以只读方式提供这个数据,也可使用绑定创建与状态的双向连接。SwiftUI 会观察数据的变化,并根据需要更新任何受影响的视图。 示意图显示了状态存储在一个视图中,并与另一个视图共享 请勿将状态属性用于持久存储,因为状态变量的生命周期与视图生命周期是一样的。应将它们用于管理仅影响用户界面的瞬间状态,例如按钮
概览 你通常会在你的 App 中,使用与用户界面和其他逻辑分离的数据模型来存储和处理数据。这种分离可促进模块化、提升可测试性,并更加便于推断你的 App 的运行方式。 此前,你使用一个视图控制器在模型和用户界面之间来回移动数据,而此同步过程的大部分工作都可由 SwiftUI 为你处理。若要在数据发生变化时更新视图,你需要使你的数据模型类成为可观察对象、发布它们的属性并使用特殊属性声明它们的实例。为确保用户驱动的数据更改回流到模型中,你需要将用户界面控件与模型属性进行绑定。这些功能一起帮助你维护数据的单一
概览 若要了解 SwiftUI 如何确定视图的大小和位置,请利用 Xcode 预览来检查单个视图的边界。你也可以添加临时边框来查看 SwiftUI 如何一同确定多个视图的位置和尺寸。 通过 Xcode 预览高亮显示视图 使用 Xcode 预览,你可以通过在编辑器中选择视图或子视图来快速查看特定视图元素的大小。为说明上述操作,以下示例使用 VStack (英文) 将在名称上方对 SF Symbols 提供的图像垂直分组: struct StatusRow: View { let name: String
概览 LazyHStack (英文) 和 LazyVStack (英文) 视图都可以显示整理为多个逻辑部分的视图组,从而分别将其子项排列成水平生长和垂直生长的直线。之所以称这些 stack 为“惰性”,是因为 stack 视图仅在需要在屏幕上渲染项目时才会创建项目。与 stack 视图一样,惰性 stack 不包括对滚动的任何固有支持,并且你应将惰性 stack 视图包装在 ScrollView (英文) 容器中。 若要对惰性 stack 视图中的内容或数据进行分组,请使用 Section (英文) 实
声明自定视图 定义视图并将它们组合成一个视图层次结构。 概览 SwiftUI 为用户界面设计提供一种声明的方法。在使用传统的命令式方法时,你的控制器代码不仅要担负视图实例化、布局和配置的任务,还要随着条件发生变化持续进行更新。相比之下,借助声明式方法,你可以通过声明视图来创建用户界面的轻量级描述,视图的层级结构反映了所需的界面布局。然后,SwiftUI 会管理这些视图的绘制和更新以响应用户输入和状态更改等事件。 SwiftUI 提供用于在用户界面中定义和配置视图的工具。通过 SwiftUI 提供的原生视
通过滚动视图、Stack 视图和惰性 Stack 高效地显示大量重复的视图。 概览 你的 App 需要在容器视图中显示的数据经常会超过设备屏幕上容许的空间。对于重复视图或视图组,水平 Stack 和垂直 Stack 是很好的解决方案,但它们没有内建的滚动机制。你可以通过将 Stack 包装在 ScrollView 中来添加滚动,并在出现性能问题时切换到惰性 Stack。 在可滚动的容器中显示视图组 实施重复视图或视图组很简单,只需将它们包装在 ScrollView 内的 HStack或 VStack 中
配置视图 通过应用视图修饰符调整视图的特征。 最新英文文章 Configuring views 框架 SwiftUI 本页内容 概览 另请参阅 概览 在 SwiftUI 中,你可以将视图组合成一个层次结构,用它来描述你的 App 用户界面。视图修饰符能帮助你自定 App 视图的外观和行为。例如,你可以使用修饰符来执行以下操作: 为视图添加辅助功能。 调整视图的样式、布局和其他外观特征。 响应拷贝和粘贴等操作。 有条件地呈现模式视图,例如弹出窗口。 配置支持视图,例如工具栏。 由于视图修饰符是带有 Vie
使用 Stack 视图构建布局 通过原生容器视图构建复杂布局。 概览 单独的 HStack (英文)、VStack (英文) 和 ZStack (英文) 均属于简单视图。HStack (英文) 可以将视图置于水平线上,VStack (英文) 可以将视图置于垂直线上,而 ZStack (英文) 则可以将视图相互叠放。 当你使用默认参数初始化它们时,stack 视图会将其内容居中对齐,并在每个所含视图之间插入少量间隔。但是,当你使用视图修饰符 Spacer (英文) 和 Divider (英文) 视图合并和
添加手势互动操作 使用手势修饰符为你的 App 添加互动操作。 概览 手势修饰符用于处理用户输入事件 (例如,触控) 处理所需的所有逻辑,并识别这类事件何时与已知的手势模式 (例如,长按或旋转) 匹配。在识别到模式时,SwiftUI 会运行一个回调,供你用来更新视图状态或执行操作。 将手势修饰符添加到视图 你添加的每个手势都会应用于视图层次结构中的特定视图。若要识别特定视图上的手势事件,请创建并配置相关手势,然后使用 gesture(_:including:) (英文) 修饰符: struct Shap
使用更少的代码创建更好的应用 SwiftUI是一种使用Swift语言在苹果设备上构建用户界面的创新且简单的方式。使用SwiftUI在苹果设备上创建用户界面可以使用一套统一的工具和API。SwiftUI使用声明式的Swift语法,代码易读并且写起来很自然。同时它可以和Xcode中的设计工具配合使用,让设计工具中的展示样式和代码同步起来。使用SwiftUI创建的用户界面自动支持了动态类型(Dynamic Type)、暗黑模式(Dark Mode)、语言本地化(Localization)以及所有人都可以使用
SwiftUI 提供了用于声明 App 用户界面的视图、控件和布局结构。该框架提供了事件处理程序,用于向 App 传递轻点、手势和其他类型的输入,并提供了工具,用于管理从 App 模型到用户能够看到并与之互动的视图和控件之间的数据流。 使用 App (英文) 协议定义您的 App 结构,并使用各种场景填充该结构,其中场景包含构成 App 用户界面的各种视图。创建遵从 View (英文) 协议的自定义视图,并通过 stacks、lists 等将显示文本、图像和自定形状的 SwiftUI 视图组合起来。为内
SwiftUI 的新功能 先进的 app 体验和工具 您可以利用新功能增强您的 app,例如改进的列表视图、更好的搜索体验,以及对控制专注模式的支持。此外,还可以利用新的画布 API 这个 drawRect 的现代 GPU 加速替代方案,提高对底层绘图语言的控制。 辅助功能改进 利用新的 Rotor API,以简单列表形式在屏幕上显示最相关的项目,从而加快互动速度。当前的辅助功能焦点状态 (例如旁白光标) 现在可以朗读出来,甚至可以通过编程方式进行更改。而借助新的辅助功能表示 API,您的自定控件即可轻
1