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

SwiftUI多个.fileExporter修饰符无法正常显示的问题咨询

SwiftUI多.fileExporter修饰符显示问题及解决方法

在SwiftUI视图树中使用多个.fileExporter修饰符时,会出现仅能显示其中一个的问题,具体情况如下:

问题示例代码

外部视图(ContentView)

struct ContentView {
    var body: some View {
       VStack {
           NestedView()
       }
       .fileExporter(isPresented: $showExporter1, document: document1, contentType: .someFileType, defaultFilename: defaultFilename) { ... }
    }
}

嵌套视图(NestedView)

struct NestedView {
    var body: some View {
        VStack {
            Button {
                showExporter2 = true
            } label: {
                Text("Export")
            }
        }
        .fileExporter(isPresented: $showExporter2, document: document2, contentType: .anotherFileType, defaultFilename: defaultFilename2) { ... }
    }
}

问题现象

上述代码中,仅外部ContentView的导出器可以正常显示,点击NestedView中的Export按钮无任何反应,内部的导出器无法触发。

尝试的调整

曾尝试将内部的.fileExporter修饰符移至外部修饰符旁,即给同一视图附加两个.fileExporter修饰符,但依然只有最后一个导出器能正常显示。

解决方法

最终验证发现,.fileExporter无法在嵌套视图结构中共存,将两个.fileExporter附加到同级视图即可正常工作,实现点击不同按钮显示对应文件导出器的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:43:18