Я думаю, что единственный способ сделать это на данный момент - использовать overlay()
или ZStack
. Я не могу заставить работать переход при использовании overlay()
, но могу при использовании ZStack
Просто убедитесь, что ваш модальный вид заполняет экран чем-то вроде List
или с помощью Spacer()
, иначе вы все равно увидите другой вид позади него
struct ContentView: View {
@State var showModal: Bool = 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 == true) {
ModalView()
.background(Color.white)
.transition(transition);
}
}
}
}