SwiftUi 水平滚动视图,数据来自 Api

SwiftUi horizontal Scrollview with data from Api

我需要使用从 api 加载的数据制作水平滚动视图。 我的观点是这样的:

 ScrollView(.horizontal,showsIndicators:false) {

      HStack(spacing: 20) {
        ForEach(self.images, id: \.self) { item in

                URLImage(URL(string:item)!)
                               { proxy in
                                   proxy.image
                                       .resizable()
                               }.frame(width: UIScreen.main.bounds.width - 120, height: 200).aspectRatio(contentMode: .fit)
                               .cornerRadius(15)
                               .opacity(0.7)


    }

    }.onAppear(perform: loadData)

}.padding(.all,20)

当我删除 scrollview 时,正在加载数据perfectly.Any 建议?谢谢

试试这个:

这是一个简单粗暴的例子...;)

var imageLoader = ImageLoader()

class ImageLoader {

    var images : [Image] = []

    init() {
        loadData()
    }

    func loadData() {

        for _ in 0..<10 {
            images.append( Image(systemName: "circle.fill"))
        }
    }
}

struct ContentView: View {

       var body: some View {

        ScrollView(.horizontal,showsIndicators:false) {

        HStack(spacing: 20) {

                ForEach(0..<imageLoader.images.count, id: \.self) { item in

                    imageLoader.images[item]
                        .resizable()
                        .frame(width: UIScreen.main.bounds.width - 120, height: 200).aspectRatio(contentMode: .fit)
                        .cornerRadius(15)
                        .opacity(0.7)
                }
            }.background(Color.yellow)
        }.background(Color.orange)
    }
}