首页 > 解决方案 > 我们如何在 SwiftUI 中使用渐变模糊形状?

问题描述

试图用渐变模糊我的圆圈无法弄清楚为什么它不起作用。有人有想法还是不支持?

struct GradientExperiment: View {
var body: some View {
    VStack {
        //blur works
        Circle()
            .fill(Color(.blue))
            .frame(width: 50, height: 50)
            .blur(radius: 10)

        //blur does not work
        Circle()
            .fill(LinearGradient(gradient: Gradient(colors: [.blue,.red]), startPoint: .bottom, endPoint: .top))
            .frame(width: 50, height: 50)
            .blur(radius: 10)
    }
}

}

标签: gradientblurlinear-gradients

解决方案


为您添加一个掩码LinearGradient并将其Circle用作掩码:

LinearGradient(gradient: Gradient(colors: [.blue, .red]), startPoint: .bottom, endPoint: .top)
  .mask(
    Circle()
      .frame(width: 50, height: 50)
      .blur(radius: 10)
    )

模糊的圆圈


推荐阅读