Код: Выделить всё
struct ContentView: View {
@State var go = false
let style = Animation.linear.repeatForever(autoreverses: false)
var body: some View {
VStack {
Button("Rotate") {
go.toggle()
}
Text("wheee")
.rotationEffect(.degrees(go ? 360 : 0))
.animation(style)
}
}
}
Я пробовал несколько вариантов, например, чтобы переменная «go» меняла стиль анимации на .none, если она ложна, или изменяла количество поворотов. Я знаю, что для этого есть неуклюжие решения, такие как использование CBAnimation (например, этот ответ) или таймера (например, этот ответ). Я надеюсь по возможности избежать этих решений — мне любопытно, есть ли способ реализовать это с помощью анимации SwiftUI, которую я не смог понять.
Любая помощь будет очень признательна!
Подробнее здесь: https://stackoverflow.com/questions/644 ... n-swift-ui
Мобильная версия