使用 windowStyle
可以設定不同的 Window 顯示樣式。
WindowStyle 概覽
當我們沒特別設定 WindowStyle 時,預設就是 DefaultWindowStyle,等同於用 automatic 指定。
@main
struct Example: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.windowStyle(.automatic)
}
}
PlainWindowStyle(.plain
)
plain 用於設定 visinoOS 的 Window,可以把 Window 預設的 glass background 毛玻璃底移除,當我們想客製不同的玻璃背景時,就可以使用這個 WindowStyle。
.windowStyle(.plain)
SwiftUI 在 visionOS 上,windowStyle 為 PlainWindowStyle 的樣式
圖中可以看到有小小的「Hello, World!」字樣,但卻沒有毛玻璃底的視窗,因為被 PlainWindowStyle 移掉了。
VolumetricWindowStyle(.volumetric
)
volumetric 用於設定 visinoOS 的 Window,可以用來建 3D 的 Window,用於呈現 3D 物件,具長寬深,但不是無限的。如果想要實作的是 immersive experiences,應該要使用 immersiveSpace,而非 Window。
.windowStyle(.volumetric)
SwiftUI 在 visionOS 上,windowStyle 為 VolumetricWindowStyle 的樣式
HiddenTitleBarWindowStyle(.hiddenTitleBar
)
hiddenTitleBar 用於設定 macOS 的 Window,可以把 Window 的 title 與整條 titlebar 隱藏,讓視窗擁有更多的空間顯示內容。
.windowStyle(.hiddenTitleBar)
SwiftUI 在 visionOS 上,windowStyle 為 HiddenTitleBarWindowStyle 的樣式
TitleBarWindowStyle(.titleBar
)
titleBar 用於設定 macOS 的 Window,可以顯示 Window 的 title 與 titlebar,不過一般 Window 預設就會顯示 titlebar 了。
.windowStyle(.titleBar)
SwiftUI 在 visionOS 上,windowStyle 為 TitleBarWindowStyle 的樣式
關於 XcodeProject
XcodeProject 創立於 2023,致力於協助開發者探索 Apple 的創新世界,學習在 iOS、iPadOS、macOS、tvOS、visionOS 與 watchOS 上開發 App,發現眾多技術與框架,讓開發者獲得更多能力。