You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

visionOS中如何设置WindowGroup的指定尺寸?

在visionOS中为WindowGroup设置特定尺寸的解决方案

在visionOS中直接使用.defaultSize(width:height:depth:)可能不生效,核心原因是visionOS默认允许用户自由调整窗口大小,且窗口尺寸会优先适配内容的固有大小。要让指定尺寸生效,可按以下两种场景处理:

1. 固定窗口尺寸(禁止用户调整)

如果希望窗口保持固定大小、无法被用户拖动调整,需同时添加.windowResizability(.contentSize)修饰符,它会锁定窗口尺寸为你设置的默认值:

WindowGroup {
    ContentView()
}
.defaultSize(width: 200.0, height: 200.0, depth: 200.0)
.windowResizability(.contentSize)

2. 设置默认尺寸(允许用户调整)

如果只是想设置初始默认尺寸,但保留用户调整窗口的权限,需要确保根视图(比如ContentView)有明确的尺寸约束,窗口会根据内容大小应用默认尺寸:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("VisionOS Custom Window")
        }
        .frame(width: 200, height: 200, depth: 200)
    }
}

WindowGroup {
    ContentView()
}
.defaultSize(width: 200.0, height: 200.0, depth: 200.0)

额外排查步骤

如果上述设置仍不生效,可尝试:

  • 重启visionOS模拟器,彻底清除应用缓存
  • 清理Xcode的Derived Data(路径:Xcode > Settings > Locations > Derived Data,点击文件夹图标后删除对应项目的缓存)

内容的提问来源于stack exchange,提问作者ixany

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:12:38