【发布时间】:2021-05-19 07:28:50
【问题描述】:
我正在尝试在矩形上呈现线性渐变。代码如下:
Rectangle()
.foregroundColor(Color.red)
.overlay(
LinearGradient(gradient: Gradient(colors: [.red, .yellow, .blue]), startPoint: .topLeading, endPoint: .bottomTrailing)
)
.frame(width: 300, height: 200)
.position(x: 170, y: 120)
当我在正方形上渲染它时,一切看起来都是正确的:
但是,当我在矩形上渲染它时,它看起来不再像是从 topLeading 角到 bottomTrailing。它看起来就像被剪掉的一样:
这是它在 svg 中的呈现方式(蓝色看起来不一样,但这不是重要的部分),以及我希望它在 swift 中的外观:
黄色对角线应该直接从一个角到另一个角,因为我指定了startPoint: .topLeading, endPoint: .bottomTrailing。它在这里说SwiftUI diagonal LinearGradient in a rectangle 这是一种标准行为,没关系 - 我并不是说 SwiftUI 渲染它不正确,我只需要一种方法让它看起来像在 svg 中。
【问题讨论】:
标签: ios svg swiftui rendering linear-gradients