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

当我们在使用 HStack,VStack 等可以传入一个 View 作为参数,其实在我们开发的过程中很多时候我们也可以把 View 作为一个参数传入其他的 View,比如我们可以自定义一个 View,给任何的 View 添加一个背景颜色。


1.png

给任何 View 添加一个背景颜色

struct BackgroundView: View {
    var height: CGFloat? = previewHeight
    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("bg"))
            .clipShape(RoundedRectangle(cornerRadius: 6, style: .continuous))
    }
}

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

BackgroundView {
    VStack {
        Circle()
    }.frame(maxWidth: .infinity)
        .frame(height: 214)
}

好好使用这个方法,可以节省我们很多的代码。

关于应用:

更多内容可以查看应用 SwiftUI For Beginners,一个产品设计师从自学的 SwiftUI 开发的各个过程给你讲解 SwiftUI 内容,Apple 应用商店搜索 SwiftUI For Beginners 下载。

SwiftUI.jpg

  • 适合设计师人群,互联网从业者或者想自己做个应用的人群;
  • 不适合技术人群,应用完全是从一个 0 基础的角度去讲解各个阶段需要的知识,对于技术人群过于简单;
  • 内容讲解➕直接代码效果预览,学习过程更加直观;
  • iPhone, iPad 和 Mac 全平台支持,Apple Watch 和 TV 应用即将上线。

你可能感兴趣的:(SwiftUI 初学者一定要知道的一个传参方法)