美文网首页
SwiftUI一起学之十五 -- View作为参数

SwiftUI一起学之十五 -- View作为参数

作者: sunny_ke_ke | 来源:发表于2022-03-13 20:05 被阅读0次

    一 学习目标

    学习把View 作为一个参数传入其他的 View

    如给任何View增加背景矩形

    二 学习效果

    image

    三 主要操作步骤

    // 定义一个背景View
    struct BackgroundView<Content: View>: View {
        var height: CGFloat? = 200
        var content: () -> Content
    
        var body: some View {
            VStack(alignment: .center, spacing: 0, content: content)
                .frame(maxWidth: .infinity, alignment: .center)
                .frame(height: height, alignment: .center)
                .background(Color.blue)
                .clipShape(RoundedRectangle(cornerRadius: 6, style: .continuous))
        }
    }
    

    在任何使用的地方,我们只需要使用 BackgroundView 并传入一个 View 就可以显示一个背景色了。

    struct FunctionUIView: View {
        var body: some View {
            BackgroundView{
                Text("View传参")
            }
        }
    }</pre>
    

    四 完整代码

    import SwiftUI
    
    struct FunctionUIView: View {
        var body: some View {
            BackgroundView{
                Text("View传参")
            }
        }
    }
    
    // 背景View
    struct BackgroundView<Content: View>: View {
        var height: CGFloat? = 200
        var content: () -> Content
    
        var body: some View {
            VStack(alignment: .center, spacing: 0, content: content)
                .frame(maxWidth: .infinity, alignment: .center)
                .frame(height: height, alignment: .center)
                .background(Color.blue)
                .clipShape(RoundedRectangle(cornerRadius: 6, style: .continuous))
        }
    }
    

    参考:

    1. SwiftUI 初学者一定要知道的一个传参方法

    相关文章

      网友评论

          本文标题:SwiftUI一起学之十五 -- View作为参数

          本文链接:https://www.haomeiwen.com/subject/nnrddrtx.html