我该如何推送下一个SwiftUI视图,但将其显示在全屏上而又不向下滑动Xcode 10模式演示文稿等功能。

我当前的实现,但并没有推动全屏显示(向下拖动已启用,顶部显示空白):

btn
.presentation(
      !showModal.value ?
           nil :
           Popover(content: destination, dismissHandler: onTrigger ?? {})
)

最佳答案

我认为目前唯一的方法是使用overlay()ZStack。使用overlay()时似乎无法正常工作,但使用ZStack时却可以
只要确保您的模态视图用ListSpacer()之类的东西填充屏幕,否则您仍然会看到其后的另一个视图

struct ContentView: View {

    @State var showModal = false

    let transition = AnyTransition.move(edge: .bottom)

    var body: some View {
        ZStack {
            VStack {
                Button(action: {
                    withAnimation {
                        self.showModal = true
                    }
                }) {
                    Text("Show Modal")
                }
            }

            if self.showModal {
                ModalView()
                    .background(Color.white)
                    .transition(transition)
            }
        }
    }
}

07-27 13:15