【发布时间】:2021-02-05 12:49:56
【问题描述】:
我想使用自定义颜色为我的小部件创建渐变颜色。当我只使用两种颜色时,我遇到了一个问题,结果,没有应用一种颜色,而是背景变成了绿色!
struct WeatherWidgetMediumView: View {
var gradient: LinearGradient {
LinearGradient(
gradient: Gradient(
colors:
[
Color(red: 96.0/255.0, green: 171.0/255.0, blue: 239.0/255.0),
Color(red: 163.0/255.0, green: 230.0/255.0, blue: 244.0/255.0)
]),
startPoint: .top,
endPoint: .bottom)
}
var body: some View {
GeometryReader { geo in
HStack(alignment: .center) {
Divider().background(Color.black).padding(.vertical, 16.0).opacity(0.1)
}
}
.background(gradient)
}
}
但如果我再添加一种颜色,它看起来很棒。
struct WeatherWidgetMediumView: View {
let weather: Weather
var gradient: LinearGradient {
LinearGradient(
gradient: Gradient(
colors:
[
Color(red: 96.0/255.0, green: 171.0/255.0, blue: 239.0/255.0),
Color(red: 96.0/255.0, green: 171.0/255.0, blue: 239.0/255.0),
Color(red: 163.0/255.0, green: 230.0/255.0, blue: 244.0/255.0)
]),
startPoint: .top,
endPoint: .bottom)
}
var body: some View {
GeometryReader { geo in
HStack(alignment: .center) {
Divider().background(Color.black).padding(.vertical, 16.0).opacity(0.1)
}
Spacer()
}
.background(gradient)
}
}
UPD:创建一个包含此问题的 GitHub 项目
【问题讨论】:
-
在这里工作正常。 Xcode 12.0。你不使用一些测试版吗?
-
我使用的是 12.0.1
-
@Asperi 你有蓝色渐变和冷杉两种颜色吗?我的问题是只使用两种颜色时我没有正确的颜色:(当我只使用两种颜色(都是蓝色)时,我有绿色渐变!这让我着迷!
-
小部件面临同样的问题
-
在 Xcode 13.0 中仍然看到这个 :(
标签: swift ios14 swiftui widgetkit