使用 windowResizability
可以調整不同的 Window 縮放行為。
SwiftUI
SwiftUI 設定 Window 視窗的大小縮放行為
我們可以在 App 底下對 Scene 使用 windowResizability
來決定該如何限制 Window 的最大和最小值。
例如,我們可以先設定 Scene 底下 View 寬與高的最大最小值,再把 Scene 的縮放行為設成 .contentSize
來限制使用者在縮放 Window 大小時,寬高各自只能介於 100 到 400 之間。
@main
struct Example: App {
var body: some Scene {
WindowGroup {
ContentView()
.frame(
minWidth: 100, maxWidth: 400,
minHeight: 100, maxHeight: 400)
}
.windowResizability(.contentSize)
}
}
WindowResizability 有以下三種 Type 可以設定:automatic、contentSize 和 contentMinSize。
WindowResizability 的 automatic
在沒有設定 WindowResizability 時,所有 Scene 的預設都是 automatic。在這個預設下,Settings 會使用 contentSize,而其他的 Scene 則會使用 contentMinSize。
.windowResizability(.automatic)
WindowResizability 的 contentSize
將 WindowResizability 設成 contentSize 時,就如上面的例子一樣:
- 最小值,會符合 Scene 底下 View 所設定的最小值
- 最大值,會符合 Scene 底下 View 所設定的最大值
.windowResizability(.contentSize)
WindowResizability 的 contentMinSize
將 WindowResizability 設成 contentMinSize 時:
- 最小值,會符合 Scene 底下 View 所設定的最小值
- 沒有最大值,無上限
.windowResizability(.contentMinSize)
關於 XcodeProject
XcodeProject 創立於 2023,致力於協助開發者探索 Apple 的創新世界,學習在 iOS、iPadOS、macOS、tvOS、visionOS 與 watchOS 上開發 App,發現眾多技術與框架,讓開發者獲得更多能力。