我想制作一个可以在iOS和Mac上跨平台使用的模式。
问题是,如果我快速切换模式,这是一个奇怪的行为。附有以下奇怪行为的GIF。这是SwiftUI错误吗?
如果没有,我做错了什么?
编辑:更多信息。 没有动画和过渡,交互将按预期进行。
这是Playground上的代码
import SwiftUI
import PlaygroundSupport
struct CView: View {
@State var isShown = false
var body: some View {
ZStack {
Color.white
ZStack {
Color.green
VStack {
HStack {
Spacer()
Text("Open").onTapGesture {
self.isShown = true
}
}
Spacer()
}
}
.edgesIgnoringSafeArea(.all)
.zIndex(0)
if self.isShown {
ZStack {
Color.red
VStack {
HStack {
Spacer()
Text("Close").onTapGesture {
self.isShown = false
}
}
Spacer()
}
}
.transition(AnyTransition.move(edge: .bottom))
.animation(.easeInOut)
.edgesIgnoringSafeArea(.all)
.zIndex(1)
}
}
}
}
// Present the view controller in the Live View window
PlaygroundPage.current.setLiveView(CView())
``
[1]: https://i.stack.imgur.com/21z7z.gif