swiftui - SwiftUI - drawingGroup() 改变颜色
问题描述
当我应用 .drawingGroup() 修饰符以提高性能时,为什么我的颜色会改变/反转?
看起来他们几乎是在倒置。从红到黑
如果我//(不知道术语,散列??)如果不清楚,我没有收到任何错误消息并且代码按预期工作。
struct ColorCyclingCircle: View {
var amount = 0.0
var steps = 100
var body: some View {
ZStack {
ForEach(0..<steps) { value in
Circle()
.inset(by: CGFloat(value))
.strokeBorder(LinearGradient(gradient: Gradient(colors: [
self.color(for: value, brightness: 1),
self.color(for: value, brightness: 0.5)
]), startPoint: .top, endPoint: .bottom), lineWidth: 2)
}
}
.drawingGroup()
}
func color(for value: Int, brightness: Double) -> Color {
var targetHue = Double(value) / Double(self.steps) + self.amount
if targetHue > 1 {
targetHue -= 1
}
return Color(hue: targetHue, saturation: 1, brightness: brightness)
}
}
解决方案
推荐阅读
- bash - bash:以编程方式组装列表
- amazon-cloudwatch - 如何确定 Fargate 服务的 Cloudwatch 日志流?
- javascript - 使用 Angular 获取数组
- php - 如何使用碳将年改为月?
- android - 使用 AudioRecord.read 并始终获取最大振幅的缓冲区
- asp.net-mvc - BeginForm 的甜蜜警报
- android - 如何在两个TextViews之间画一条线
- django - cookiecutter-django docker-compose -f production.yml 挂起
- javascript - Material2 Datepicker - 将日期转换为没有时间的时间戳
- sql - 如何将两个查询合二为一