DocumentGroupLaunchScene致导航栏消失,求iOS18/Xcode16临时解决办法
临时解决DocumentGroupLaunchScene导致导航栏消失的问题
在iOS 18 beta 8和Xcode 16 beta 6环境下,使用DocumentGroupLaunchScene会导致打开文档后导航栏(含标题和返回按钮)消失,无法回到文档浏览器。以下是几个临时可行的解决办法:
手动添加导航栏及返回按钮
在你的ContentView中手动构建导航栏,并添加返回文档浏览器的按钮,利用Environment中的openDocument动作触发跳转:
struct ContentView: View { @Binding var document: MyDocument @Environment(\.openDocument) private var openDocumentBrowser var body: some View { NavigationStack { // 替换为你的文档内容视图 Text("文档内容") .navigationTitle(document.fileURL.lastPathComponent) .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button("返回") { openDocumentBrowser() } } } } } }
这个方法完全模拟原生导航栏的功能,用户点击返回按钮就能回到文档浏览器,同时保留文档标题显示。
临时禁用DocumentGroupLaunchScene(可选)
如果暂时不需要启动页场景,可以通过布尔开关临时关闭DocumentGroupLaunchScene,恢复原生导航栏行为:
@main struct MyApp: App { // 临时开关,苹果修复Bug后可移除 private let enableLaunchScene = false var body: some Scene { DocumentGroup(newDocument: MyDocument()) { file in ContentView(document: file.$document) } if enableLaunchScene { DocumentGroupLaunchScene { NewDocumentButton("Start") } background: { Color.blue } } } }
以上方案均为临时 workaround,待苹果正式修复该Beta版本Bug后,即可移除相关代码恢复原生实现。
内容的提问来源于stack exchange,提问作者Vlad Grigorov
相关产品推荐
相关产品推荐

