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

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


1.png

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

struct BackgroundView<Content: View>: 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 应用即将上线。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容