我该如何推送下一个SwiftUI视图,但将其显示在全屏上而又不向下滑动Xcode 10模式演示文稿等功能。
我当前的实现,但并没有推动全屏显示(向下拖动已启用,顶部显示空白):
btn
.presentation(
!showModal.value ?
nil :
Popover(content: destination, dismissHandler: onTrigger ?? {})
)
最佳答案
我认为目前唯一的方法是使用overlay()
或ZStack
。使用overlay()
时似乎无法正常工作,但使用ZStack
时却可以
只要确保您的模态视图用List
或Spacer()
之类的东西填充屏幕,否则您仍然会看到其后的另一个视图
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)
}
}
}
}