【发布时间】:2021-09-14 15:30:09
【问题描述】:
我有以下代码:
struct ViewA: View {
var body: some View {
Rectangle()
.fill(Color(.yellow))
}
}
struct ViewB: View {
var body: some View {
Rectangle()
.fill(Color(.white))
}
}
struct ViewC: View {
var body: some View {
Rectangle()
.fill(Color(.blue))
}
}
struct TestView: View {
var body: some View {
GeometryReader { geo in
VStack(spacing: 0) {
ViewA()
.frame(width: geo.size.width, height: geo.size.width/4, alignment: .center)
.shadow(color: .black, radius: 10, x: 0, y: 10)
ViewB()
ViewC()
.frame(width: geo.size.width, height: 100, alignment: .center)
.shadow(color: .black, radius: 10, x: 0, y: 0)
.opacity(0.8)
}
}
}
}
它画了:
底部蓝底白字视图(ViewC over ViewB)的阴影出现。 我希望黄色视图 (ViewA) 在白色视图上投下阴影。
我希望白色视图看起来好像位于顶视图(黄色)和底视图(蓝色)之下。
我不确定如何组织视图,以便顶视图也会在中间视图上投下阴影。
我将如何做到这一点?
【问题讨论】: