概览
假如你是 visionOS 的新用户,能够重新的 Xcode 项目开端,了解渠道特性,并了解 visionOS 的内容和技能。当你为 visionOS 构建运用时,SwiftUI 是一个极佳的挑选,因为它能让你完全拜访 visionOS 的特性。虽然你也能够运用 UIKit 来构建运用的部分内容,但你需要运用 SwiftUI 来实现许多特定于渠道的特性。
演示视频
在任何 SwiftUI 运用中,你都能够运用场景(scene)将内容放置在屏幕上。一个场景包括要在屏幕上显现的视图和操控器。场景还定义了这些视图和操控器在屏幕上出现时的外观。在 visionOS 中,你能够在同一个场景中包括 2D 和 3D 的视图,而且你能够将这些视图呈现在一个窗口中,或作为人的周围环境的一部分。
Scene with a window
Scene with a window and 3D objects
创立你的 Xcode 项目
在 Xcode 中创立一个新项目,挑选 File > New > Project。导航到模板挑选器的 visionOS 部分,挑选 App 模板。在提示时,为你的项目指定一个名称以及其他选项。
在创立新的 visionOS 运用时,你能够从装备对话框中装备你的运用的初始场景类型。假如你想在你的初始场景中主要显现 2D 内容,挑选窗口(Window) 作为你的初始场景类型。假如主要是 3D 内容,挑选体(Volume) 。你也能够增加一个沉浸式场景,将你的内容放置在人的周围环境中。
当你想从你的运用中创立或展示 3D 资产或场景时,包括一个 Reality Composer Pro 项目文件。运用这个项目文件,从基本形状和现有的 USDZ 资产中构建内容。你也能够运用它来为你的内容构建和测试自定义的 RealityKit 动画和行为。
修正现有的窗口
运用规范的 SwiftUI 视图构建你的初始界面。视图为你的界面供给基本内容,你能够运用 SwiftUI 修饰符自定义它们的外观和行为。例如,.background 修饰符在你的内容后边增加了一个部分透明的着色色彩:
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.background(.black.opacity(0.8))
}
ImmersiveSpace(id: "Immersive") {
ImmersiveView()
}
}
}
要了解更多关于怎么运用 SwiftUI 创立和装备界面的信息,请参阅 SwiftUI 基础。
处理你的视图中的事情
许多 SwiftUI 视图自动处理交互,你需要做的便是供给当交互发生时运转的代码。你还能够增加 SwiftUI 手势辨认器到视图中,以处理点击、长按、拖拽、旋转和缩放手势。体系会自动将以下类型的输入映射到你的 SwiftUI 事情处理代码:
- 直接输入。人的眼睛指示交互的目标。要开端交互,人需要在一只或两只手上的拇指和食指之间进行触摸。额定的手指和手的动作定义了手势类型。
- 直接输入。当一个人的手指占据了屏幕上的物体的空间,体系会陈述交互。额定的手指和手的动作定义了手势类型。
- 键盘输入。人们能够运用衔接的鼠标、触摸板或键盘与项目进行交互,触发菜单命令,履行手势。
关于在 SwiftUI 视图中处理交互的更多信息,请参阅 SwiftUI 基础教程中的 Handling User Input 部分。
构建并运转你的运用
在模拟器中构建并运转你的运用,查看其外观。visionOS 的模拟器有一个虚拟布景作为你的运用内容的布景。运用你的键盘和鼠标或触摸板在环境中导航并与你的运用互动。
点击并拖动你的运用内容下方的窗口条,重新定位环境中的窗口。将指针移到窗口条周围的圆圈上,显现窗口的关闭按钮。将光标移动到窗口的一个旮旯,将窗口条变为调整巨细的操控器。
注意
运用不应该操控空间中窗口的方位。体系将每个窗口放在其初始方位,并依据与运用的进一步交互更新该方位。
关于怎么在模拟器中与你的运用交互的更多信息,请参阅在 visionOS 模拟器中与你的运用交互。