繁体   English   中英

Swiftui foreach 内部参数

[英]Swiftui foreach inside parameter

如何在视图参数中foreach

这是我的代码

  CarouselView(itemHeight: 124, views: [
                                SliderItemView(),
                                SliderItemView(),
                                SliderItemView(),
                ])

我想迭代并循环显示 SliderItemView

ForEach无法创建数组。 如果你想创建这些视图的数组,一种方法是[0..<3].map { _ in SliderItemView() }

这里有 2 种方法可以解决您的问题:

struct ContentView: View {
    
    var body: some View {

        CustomViewV1(content: {

            ForEach(0...2, id:\.self) { _ in Text("Hello, World!").foregroundColor(Color.blue) }

        })

        CustomViewV2(repeating: 3, content: { Text("Hello, World!").foregroundColor(Color.red) })
        
    }
    
}



struct CustomViewV1<Content: View>: View {
    
   @ViewBuilder let content: () -> Content
    
    var body: some View {
        
        return content()
        
    }
    
}

struct CustomViewV2<Content: View>: View {
    
    let repeating: Int
    @ViewBuilder let content: () -> Content
    
    var body: some View {

        if (repeating >= 1) {
            
            ForEach(1...repeating, id:\.self) { _ in
                
                content()
                
            }
            
        }
        
    }
    
}

结果:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM