Почему withAnimation не вызывает анимацию?IOS

Программируем под IOS
Ответить
Anonymous
 Почему withAnimation не вызывает анимацию?

Сообщение Anonymous »

Я пытаюсь переключиться с одного экрана на другой, нажав кнопку (полный код см. ниже). Переключение с первого вида на второй (и наоборот) работает, но анимации не происходит.
Почему происходит такое поведение?
Полный код:
struct ContentView: View {
@AppStorage("firstViewActive") var isFirstViewActive: Bool = true

var body: some View {
if isFirstViewActive {
FirstView()
} else {
SecondView()
}
}
}

struct FirstView: View {
@AppStorage("firstViewActive") var isFirstViewActive: Bool = true

var body: some View {
ZStack {
Color(.red).ignoresSafeArea(.all, edges: .all)
VStack {
Spacer()
Text("This is the first view")
Spacer()
Button {
withAnimation {
isFirstViewActive = false
}
} label: {
Text("Go to second view")
}
Spacer()
}
}
}
}

struct SecondView: View {
@AppStorage("firstViewActive") var isFirstViewActive: Bool = false

var body: some View {
ZStack {
Color(.blue).ignoresSafeArea(.all, edges: .all)
VStack {
Spacer()
Text("This is the second view")
Spacer()
Button {
withAnimation {
isFirstViewActive = true
}
} label: {
Text("Go to first view")
}
Spacer()
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/754 ... -animation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»