Скрыть и показать вид после завершения анимации в SwiftUI - PullRequest
0 голосов
/ 03 октября 2019

Как скрыть и показать изображение / вид после анимации в SwiftUI.

Image(systemName: "arrow.2.circlepath.circle.fill")
    .rotationEffect(.degrees(spin ? 360 : 0))
    .animation(Animation.easeInOut(duration: 0.8).repeatCount(5))

1 Ответ

0 голосов
/ 04 октября 2019

Используйте одну переменную для управления вращением и вторую переменную для управления альфа:

struct ContentView: View {
  @State var degrees: Double = 0
  @State var alpha: Double = 1
    var body: some View {
        Image(systemName: "arrow.2.circlepath.circle.fill")
        .rotationEffect(.degrees(degrees))
        .onAppear(perform: {
          withAnimation(Animation.easeInOut(duration: 0.8).repeatCount(5)) {
            self.degrees = 360
          }
          DispatchQueue.main.asyncAfter(deadline: .now() + 4) {
            self.alpha = 0
          }
        })
        .opacity(alpha)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...