SwiftUI 多张纸:关闭动画损坏

问题描述

我有 button1,按下时显示 sheet1。然后我有一个切换按钮,显示一个按钮 2,按下按钮时会显示 sheet2。

如果我只是按下按钮 1,工作表会以动画显示和消失。但是,如果我按下显示按钮 2 的切换按钮,然后按下按钮 1,工作表关闭动画将被破坏(只是没有动画)。

struct ContentView: View {

@State private var showSheetButton2 = false
@State private var showSheet1 = false
@State private var showSheet2 = false

var body: some View {

    VStack {
        Toggle("Show Sheet Button 2",isOn: $showSheetButton2)

        Button(action: {
            showSheet1.toggle()
        },label: {
            Text("Show Sheet 1")
        })
        .sheet(isPresented: $showSheet1,content: {
            Button(action: {
                showSheet1 = false
            },label: {
                Text("Dismiss")
            })
        })

        if showSheetButton2 {
            Button(action: {
                showSheet2.toggle()
            },label: {
                Text("Show Sheet 2")
            })
            .sheet(isPresented: $showSheet2,content: {
                Button(action: {
                    showSheet2 = false
                },label: {
                    Text("Dismiss")
                })
            })
        }
    }.padding()
}
}

编辑:

已在 iOS 14.5 中修复:

您现在可以应用多个工作表(isPresented:onDismiss:content:) 和 fullScreenCover(item:onDismiss:content:) 同一视图中的修饰符 等级制度。 (74246633)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)