SwiftUI,具有统一阴影的多个形状?

标签 swiftui shadow shapes

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)
    }
}
这就是我得到的,也是我所追求的......
enter image description here
注意:zIndex 只是我尝试过的东西,即两个形状具有相同的 zIndex 等。这也是一种重新排序事物的快速方法,而无需在容器内移动形状。

最佳答案

这是可能的解决方案。使用 Xcode 11.4/iOS 13.4 测试

enter image description here

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/

相关文章:

ios - 我们如何使用 `Button` 添加 `TextField` 和 `SwiftUI`

swift - 从 Int 到 String 的属性更改会导致 SwiftUI View 不更新

ios - CSS 文本阴影无法在移动设备上正确显示

ruby - "shadowing"在 Ruby 中是什么意思?

android - 矩形可绘制对象不会显示为复选框选择器项目

vba - 如何在选择后粘贴形状

SwiftUI,为什么部分 View 没有刷新? @State 变量不更新

ios - SwiftUI/iOS |在没有 NSNotification 的情况下获取键盘大小

SVG 阴影被截断

javascript - 在图像上切割不规则形状