onDrag 预览不仅是拖动的视图,还显示视图位于其上的背景

onDrag preview isn’t just of the dragged view but also displays the background the view is laid on top of

我在具有圆角的视图上使用 .onDrag 修饰符:

struct RootView: View {
    
    @State var dragging: Bool = false
    
    var body: some View {
        VStack {
            Color.red.cornerRadius(32)
                .frame(width: 300, height: 300)
                .onDrag {
                    dragging = true
                    return NSItemProvider(object: NSString())
                }
        }.frame(maxWidth: .infinity, maxHeight: .infinity)
        .background(.green)
    }
}

问题是当我调用拖动时——由于系统应用的自动投影效果——我感觉不像是在自己拖动卡片。见下文。

有什么方法可以让卡片看起来像是拖拽着透明背景,而不是在它上面放置的任何背景颜色上方?

这个有内容形状类型,

Color.red.cornerRadius(32)
    .frame(width: 300, height: 300)
    .contentShape(.dragPreview, RoundedRectangle(cornerRadius: 32))  // << here !!
    .onDrag {