View 如何遮罩视图的区域

View 如何遮罩视图的区域,view,swiftui,shapes,masking,View,Swiftui,Shapes,Masking,我正在寻找有关使用SwiftUI实现以下目标的最佳方法的建议 我有一个带有红色圆角矩形角的视图,以及一个偏移到父视图底部的蓝色矩形框的子视图 但是,我希望遮住第二个附图中的阴影区域,使其显示为白色(即删除蓝色阴影区域),并且不确定如何最好地完成此操作 这是目前的准则:- import SwiftUI import Foundation struct PupilCell : View { var body : some View { ZStack {

我正在寻找有关使用SwiftUI实现以下目标的最佳方法的建议

我有一个带有红色圆角矩形角的视图,以及一个偏移到父视图底部的蓝色矩形框的子视图

但是,我希望遮住第二个附图中的阴影区域,使其显示为白色(即删除蓝色阴影区域),并且不确定如何最好地完成此操作

这是目前的准则:-

import SwiftUI
import Foundation

struct PupilCell : View {
    var body : some View {

        ZStack { 

            Rectangle().frame(height: 60.0, alignment: .bottom).foregroundColor(Color.blue).offset(x: 0.0, y: 50.0)
            RoundedRectangle(cornerRadius: 25, style: .continuous).stroke(lineWidth: 2.0).fill(Color.red)
        }
    }
}

以下是可能的方法:

ZStack {

    Rectangle().frame(height: 60.0, alignment: .bottom).foregroundColor(Color.blue).offset(x: 0.0, y: 50.0)
    RoundedRectangle(cornerRadius: 25, style: .continuous).stroke(lineWidth: 2.0).fill(Color.red)
}.mask(RoundedRectangle(cornerRadius: 25, style: .continuous).fill(Color.black))


我想你必须用形状来做这个…看这个苹果教程:哇哦!但它也适用于.mask(RoundedRectangle(cornerRadius:25)):染料@Chris,在这种特殊情况下,简化的变体也适用。我想展示顶视图遮罩的一般原理,它并不总是简化默认参数。以防万一。我不想减少您的解决方案-我不知道如何在没有自定义形状的情况下实现它…您的解决方案很棒;)