SwiftUI 中是否有一种方法可以合并两个形状,以便它们转换出统一的阴影。我尝试了各种组合和修饰符,但似乎无法实现我所追求的外观。任何见解将不胜感激。
struct CardView: View {
var body: some View {
Group {
RoundedRectangle(cornerRadius: 20)
.fill(Color.orange)
.frame(width: 200, height: 250)
.zIndex(0)
Circle()
.trim(from: 0.5, to: 1)
.fill(Color.orange)
.frame(width: 100, height: 100)
.offset(y: -125)
.zIndex(1)
}.shadow(color: Color.black, radius: 10, x: 0, y: 0)
}
}
这就是我得到的,也是我所追求的......注意:
zIndex
只是我尝试过的东西,即两个形状具有相同的 zIndex
等。这也是一种重新排序事物的快速方法,而无需在容器内移动形状。
最佳答案
这是可能的解决方案。使用 Xcode 11.4/iOS 13.4 测试
struct CardView: View {
var body: some View {
VStack(spacing: 0) {
Circle()
.trim(from: 0.5, to: 1)
.fill(Color.orange)
.frame(width: 100, height: 100)
.offset(x: 0, y: 50)
RoundedRectangle(cornerRadius: 20)
.fill(Color.orange)
.frame(width: 200, height: 250)
}
.compositingGroup()
.shadow(color: Color.primary, radius: 10, x: 0, y: 0)
}
}
关于SwiftUI,具有统一阴影的多个形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62234388/