【问题标题】:How can I access to views of TupleView in SwiftUI?如何在 SwiftUI 中访问 TupleView 的视图?
【发布时间】:2021-11-09 15:18:24
【问题描述】:

这是一个简单的方法来展示我正在尝试做的事情:

let test = ("Hello", " world!")

let read = test.0

如你所见,我定义了一个元组,在下一行我访问了它的第 0 项。我正在尝试像这样对 TupleView 做同样的事情:

struct ContentView: View {
    var body: some View {
        
        CustomView {
            Text("Hello, world!")
            Text("Hello, world!")
        }
    }
}


struct CustomView<Content1: View, Content2: View>: View {
    
    @ViewBuilder let content: () -> TupleView<(Content1, Content2)>
    
    var body: some View {
        
        return VStack {
            
            content.0.background(Color.red)          // <<: here!
            
            content.1.background(Color.yellow)       // <<: here!
            
        }
        
    }
    
}

我从 xCode 收到此错误:

'() -> TupleView' 类型的值没有成员'0'

类型 '() -> TupleView' 的值没有成员 '1'

我应该怎么做才能达到阅读正文中第 0 项和第 1 项的目标?使用 TupleView

【问题讨论】:

标签: swift swiftui


【解决方案1】:

答案如下:

struct CustomView<Content1: View, Content2: View>: View {
    
    @ViewBuilder let content: () -> TupleView<(Content1, Content2)>
    
    var body: some View {
        
        return VStack {
            
            content().value.0.background(Color.red)
            
            content().value.0.background(Color.yellow)
            
        }
        
    }
    
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    相关资源
    最近更新 更多