一 学习目标
学习把View 作为一个参数传入其他的 View
如给任何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))
}
}
在任何使用的地方,我们只需要使用 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))
}
}