Ios HStack中项目的线性颜色渐变?
在SwiftUI中是否有一种方法可以为HStack中的所有项目添加渐变色 您可以对HStackIos HStack中项目的线性颜色渐变?,ios,swiftui,linear-gradients,hstack,Ios,Swiftui,Linear Gradients,Hstack,在SwiftUI中是否有一种方法可以为HStack中的所有项目添加渐变色 您可以对HStack.background和.foregroundColor应用单独的颜色,但由于LinearGradient是符合视图的结构,因此无法将其传递给.foregroundColor,因为它需要颜色 您可以通过各种方式解决这个问题(下面的一个例子使用了不透明度),但如果我遗漏了其他内容,我很好奇有这么多SwiftUI选项 SwiftUI示例: struct GradView: View { var b
.background
和.foregroundColor
应用单独的颜色,但由于LinearGradient是符合视图的结构,因此无法将其传递给.foregroundColor
,因为它需要颜色
您可以通过各种方式解决这个问题(下面的一个例子使用了不透明度),但如果我遗漏了其他内容,我很好奇有这么多SwiftUI选项
SwiftUI示例:
struct GradView: View {
var body: some View {
HStack {
ForEach((1...5).reversed(), id: \.self) { index in
RoundedRectangle(cornerRadius: 5)
.frame(width: 50, height: 50)
.opacity(Double(index) / 5)
}
}.foregroundColor(Color.red)
}
}
SwiftUI输出:
内置渐变功能。。。如何呈现它取决于我们。。。这是可能的替代方案,但它只是。。。许多其他变体之一。。你知道
如果你说的是内置的,那么就不是了,但是正如你所说的,有很多种方法——你自己的有什么问题?从帖子中不清楚你想达到什么目的。由于SwiftUI是新的,我的理解有限,我只想检查一下是否有一种内置的方法可以做到这一点。看来你自己滚是最好的选择,非常感谢先生。
struct GradView: View {
var body: some View {
HStack(spacing: 0) {
ForEach((1...7).reversed(), id: \.self) { index in
HStack(spacing: 0) {
Rectangle().fill(Color.clear)
.frame(width: 50, height: 50)
Rectangle().fill(Color(UIColor.systemBackground))
.frame(width: 4, height: 50)
}
}
}.background(LinearGradient(gradient:
Gradient(colors:[.red, .black]),
startPoint: .leading, endPoint: .trailing))
}
}