SwiftUI:在填充的水平图像中制作 y 偏移的永久动画

Posted

技术标签:

【中文标题】SwiftUI:在填充的水平图像中制作 y 偏移的永久动画【英文标题】:SwiftUI: making forever animation of y offset in a filled horizontal image 【发布时间】:2020-04-30 09:18:45 【问题描述】:

我正在尝试通过它的 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】:

这是一个可能的方法的演示。使用 Xcode 11.4 / ios 13.4 测试

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
        
    

【讨论】:

您好,感谢您的意见!不过,我还没有设法使用我在原始问题中的堆栈来让它工作。

以上是关于SwiftUI:在填充的水平图像中制作 y 偏移的永久动画的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI: 使用 ImagePaint 制作边框和填充

SwiftUI 中的填充、偏移或位置

SwiftUI 向视图添加 -y 偏移量,但将视图拉伸到底部

如何在 SwiftUI 中制作水平列表?

SwiftUI 水平 ScrollView 具有不可见的填充

如何居中水平图像列表SwiftUI