SwiftUI 自定义视图包装器

Tim*_*erz 4 uikit swift swiftui

我正在尝试弄清楚如何制作一个自定义视图来包装像这样的普通 SwiftUI 内容...我不确定我是否使用 UIViewRepresentable 或者什么。请帮忙。

CustomView { x in 
   VStack { ... }
}
Run Code Online (Sandbox Code Playgroud)

use*_*ser 14

您可以使用以下代码并将您的 SwiftUI 内容提供给 CustomView 的内容:

struct CustomView <Content: View>: View {
    
    var content: () -> Content
    
    init(@ViewBuilder content: @escaping () -> Content) { self.content = content }
    
    var body: some View {

            content()  // <<: Do anything you want with your imported View here. 

    }
}
Run Code Online (Sandbox Code Playgroud)

用例:

struct ContentView: View {

        var body: some View {
            
            CustomView(content: {

                VStack { Text("Hello, world!").padding() }
            })
            
   }
}
Run Code Online (Sandbox Code Playgroud)