当我们在使用 HStack,VStack 等可以传入一个 View 作为参数,其实在我们开发的过程中很多时候我们也可以把 View 作为一个参数传入其他的 View,比如我们可以自定义一个 View,给任何的 View 添加一个背景颜色。
给任何 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 下载。
- 适合设计师人群,互联网从业者或者想自己做个应用的人群;
- 不适合技术人群,应用完全是从一个 0 基础的角度去讲解各个阶段需要的知识,对于技术人群过于简单;
- 内容讲解➕直接代码效果预览,学习过程更加直观;
- iPhone, iPad 和 Mac 全平台支持,Apple Watch 和 TV 应用即将上线。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)