相关疑难解决方法(0)

SwiftUI 矩形中的对角线 LinearGradient

问题:我正在尝试在 SwiftUI 中渲染矩形形状的对角线性渐变。

我实现了一个标准的多站线性渐变,当渲染为正方形时它工作得很好,但是当我将框架更改为矩形时,它有一些奇怪的行为,并且看起来更水平,或者有一些奇怪的剪裁。

代码:

struct CustomGradient: View {

    var body: some View {
        LinearGradient(
            gradient: Gradient(stops: [
                .init(color: Color(#colorLiteral(red: 0.776, green: 0.266, blue: 0.988, alpha: 1)), location: 0),
                .init(color: Color(#colorLiteral(red: 0.356, green: 0.348, blue: 0.870, alpha: 1)), location: 0.62),
                .init(color: Color(#colorLiteral(red: 0.357, green: 0.349, blue: 0.870, alpha: 1)), location: 1)
            ]),
            startPoint: .bottomTrailing,
            endPoint: .topLeading
        )
    }
Run Code Online (Sandbox Code Playgroud)

如果我将预览渲染为正方形,则效果很好预览: 在此输入图像描述

代码:

struct BrandGradient_Previews: PreviewProvider {
    static var previews: some View {
        BrandGradient()
            .frame(width: 300, height: 300)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将预览帧更改为.frame(width: 300, …

io linear-gradients swiftui

5
推荐指数
1
解决办法
1683
查看次数

标签 统计

io ×1

linear-gradients ×1

swiftui ×1