多次点击打开Immersive Space触发警告的优化方案咨询
多次点击打开Immersive Space按钮触发警告问题
我使用以下Swift代码打开Immersive Space:
Button { Task{ await openImmersiveSpace(id: "globe") } } label: { Text("Jump to Globe") }
多次点击该按钮时,会触发警告:Unable to present another Immersive Space when one is already requested or connected
我目前的解决方案
我通过创建环境变量保存沉浸式空间的进入状态,点击按钮时先判断是否已进入:
在Globe视图中绑定状态更新:
Globe() .onAppear{ model.isShowGlobe = true } .onDisappear{ model.isShowGlobe = false }
修改按钮的点击逻辑:
Button { if model.isShowGlobe{ return } Task{ await openImmersiveSpace(id: "globe") } } label: { Text("Jump to Globe") }
另一种思路是:进入沉浸式空间后,隐藏或关闭Globe视图。
求助
请问是否有更优的解决方案?
内容的提问来源于stack exchange,提问作者Nullable
相关产品推荐
相关产品推荐

