公开标签 #SwiftUI
手把手教你在 SwiftUI 中实现推送通知。第一步:请求推送权限在 SwiftUI 中,我们需要先导入必要的框架,然后创建一个自定义的 AppDelegate。是的,即使是 SwiftUI,推送通知还是需要用到 AppDelegate(希望苹果以后能改进这点)。import SwiftUIimport UserNotifications// 自定义 AppDelegateclass CustomAppDelegate: NSObject, UIApplicationDelegate, Observab
SwiftUI 提供了声明式语法,开发效率相对更高,而且更简单易用,开发者只需要描述所需的 UI 的样子和状态即可,框架会自动处理其余部分。这让代码更加简洁易读,减少了出错的可能性,UI 结构相对也更易于理解。SwiftUI 设计为无缝适用于所有苹果平台,包括 iOS、macOS、watchOS 和 tvOS。通过使用 SwiftUI,开发者可以利用一套代码,适配多个平台。SwiftUI 提供了在 Xcode 中的实时预览功能,开发者可以在编写代码的同时实时查看 UI 更改。这种即时反馈循环加快了开发工
使用 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