Я нигде не могу найти ответ на этот вопрос, надеюсь, один из вас поможет мне.
У меня есть MainView с некоторым содержанием. И одним нажатием кнопки я хочу открыть DetailView. Я использую ZStack для наложения DetailView сверху, заполняя экран.
Но с помощью следующего кода я не могу заставить его работать. DetailView не имеет перехода при вставке и останавливается при удалении. Я попытался с и без установки zIndex вручную, и пользовательский ассиметричный переход. Не могу заставить это работать. Любые решения?
//MainView
@State var showDetail: Bool = false
var body: some View {
ZStack {
VStack {
Text("Hello MainWorld")
Button(action: {
withAnimation(.spring()) {
self.showDetail.toggle()
}
}) {
Text("Show detail")
}
}
if showDetail {
ContentDetail(showDetail: $showDetail)
.transition(.move(edge: .bottom))
}
}
.edgesIgnoringSafeArea(.all)
}
А вот DetailView:
//DetailView
@Binding var showDetail: Bool
var body: some View {
VStack (spacing: 25) {
Text("Hello, DetailWorld!")
Button(action: { withAnimation(.spring()) {
self.showDetail.toggle()
}
}) {
Text("Close")
}
.padding(.bottom, 50)
}
.frame(width: UIScreen.main.bounds.width,
height: UIScreen.main.bounds.height)
.background(Color.yellow)
.edgesIgnoringSafeArea(.all)
}
Результат этого кода такой:
I'm запуск Xcode 11.4.1, поэтому неявная анимация тоже не работает. Действительно застрял здесь, надеюсь, один из вас может помочь мне! Спасибо :)