问题描述
我正在制作一个小的饼图,我希望图表中的每个条目变得越来越小,饼图切片越小。我必须生成一个UIColor
数组才能为图表着色。
这是我现在拥有的:
for i in 0..<entries.count {
let percent = 1.0 - (CGFloat(i - 1)/CGFloat(entries.count))
dataSet.colors.append(UIColor.systemPurple.withAlphaComponent(percent))
}
我希望图表中的颜色更像这样:(对不起,我只是在Google表格中快速举例了)
有什么想法吗?
解决方法
尝试使用此解决方案。
struct SetUpWorkoutView: View {
var body: some View {
NavigationView {
List {
ForEach(sessionTypes) { sessionType in
NavigationLink(destination: LiveWorkoutView(sessionType: sessionType)) {
SessionTypeRow(name: sessionType.stringValue)
}
}
}
}
struct LiveWorkoutView: View {
var body: some View {
VStack(alignment: .leading) { }
}.onAppear(perform: {
print("on appear called in LiveWorkoutView")
}
}
}
}
@main
struct SwiftUITestApp: App {
var body: some Scene {
WindowGroup {
TabView {
SetUpWorkoutView()
WatchSettingsView()
}
.tabViewStyle(PageTabViewStyle())
}
}
}
您还可以根据需要将0.1的差值更改为任何分数值,例如0.15或0.2等。
,您可能要使用HSB等其他颜色模型,并在颜色之间更改这些设置中的一项或多项。在您的情况下,您似乎正在使用明亮的紫色,并且希望将饱和度从100%更改为0%。
然后您可以使用UIColor初始化程序init(hue:saturation:brightness:alpha:)
稍微修补一下,颜色为300,亮度为100%,饱和度值为100%,80%,60%,40%,20%和0%的颜色看起来不错。