SwiftUI: создание вечной анимации смещения y в заполненном горизонтальном изображении - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь анимировать изображение внутри «строки» по его оси y, чтобы создать впечатление, что представление будет медленно прокручиваться вертикально по всему изображению. И когда это сделано, он возвращается. Я надеюсь, что в этом есть смысл. Я пытаюсь сделать это в этом коде:

var body: some View {
        ZStack {
            HStack {
                GeometryReader { geometry in
                    WebImage(url: self.url)
                        .renderingMode(.original)
                        .resizable()
                        .placeholder {
                            ImageStore.shared.image(name: "exploras-icon")
                        }
                        .aspectRatio(contentMode: .fill)
                        .animate {
                          // animate by y offset within bounds of HStack
                        }
                }
            }
            .frame(height: 140)
            .clipped()
        }
    }

Любая помощь / руководство высоко ценится!

1 Ответ

0 голосов
/ 30 апреля 2020

Вот демонстрация возможного подхода. Протестировано с Xcode 11.4 / iOS 13.4

demo

struct TestAutoScrollImage: View {
    @State private var isActive = false
    var body: some View {
        GeometryReader { gp in
            HStack {
                Image("large_image")
            }
            .frame(width: gp.size.width, height: gp.size.height, alignment: self.isActive ? .bottom : .top)
        }
        .edgesIgnoringSafeArea([.top, .bottom])
        .animation(Animation.linear(duration: 5).repeatForever())
        .onAppear {
            self.isActive = true
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...