SwiftUI 不透明度渐变

eri*_*nas 12 swiftui

我希望让滚动视图在边缘附近淡出。我已经实现了一个掩模,它几乎达到了我想要的效果。但是,滚动停止工作,并且蒙版使矩形变黑(应该有图像)。

我看过另一篇文章,它覆盖了视图的背景颜色,以创建看起来像淡出的东西,但我的背景是渐变的,所以它不起作用。

var body: some View {
    ZStack {
        LinearGradient(
            gradient: Gradient(colors: [Color(#colorLiteral(red: 0.1333333333, green: 0.7098039216, blue: 0.4509803922, alpha: 1)), Color(#colorLiteral(red: 0.1607843137, green: 0.6705882353, blue: 0.8862745098, alpha: 1))]),
            startPoint: .top, endPoint: .bottom)
            .ignoresSafeArea()
        
        LinearGradient(gradient: Gradient(colors: [.clear, .black, .clear]), startPoint: .leading, endPoint: .trailing)
            .mask(ScrollingRectangles())
    }
}
Run Code Online (Sandbox Code Playgroud)

这是上面代码的结果:

在此输入图像描述

下面是我整理的一个示例,以说明我想要实现的目标。

在此输入图像描述

N4S*_*4SK 30

您可以查看此: https: //designcode.io/swiftui-handbook-mask-and-transparency

或者

可以用来masking实现透明效果

ZStack {
    // Your View here....    
}
.mask(LinearGradient(gradient: Gradient(colors: [.black, .black, .black, .clear]), startPoint: .bottom, endPoint: .top))
Run Code Online (Sandbox Code Playgroud)