gpt4 book ai didi

swift - 如何在 SwiftUI 中绘制圆的径向切片? (即饼状图)

转载 作者:行者123 更新时间:2023-12-05 09:34:27 25 4
gpt4 key购买 nike

我正在尝试在 SwiftUI 中创建一个圆的切片。我正在玩 trim 但它表现得很奇怪。它从该区域的最外点开始选择数量。这样0.5是半个圆就可以了。但是圆的 0.25 不是四分之一切片(正如天真的编程新手会猜测的那样),而是以不合逻辑的方式填充的形状。似乎也没有办法修改它。通过说 Circle(radius: x, angle: y) 来定义 Circle 是明智的,这样 angle: 360 将是一个完整的圆。是否需要自己在 SwiftUI 中对此进行编程?

import SwiftUI

struct CircleView: View {
var body: some View {
let trimValue: CGFloat = 0.25
Circle()
.trim(from: 0, to: trimValue)
.fill(Color.red)

}
}

struct CircleView_Previews: PreviewProvider {
static var previews: some View {
CircleView()
}
}

Quarter of a Circle Half a Circle

最佳答案

Path 与圆弧一起使用是执行此操作的正常方法:

struct PieSegment: Shape {
var start: Angle
var end: Angle

func path(in rect: CGRect) -> Path {
var path = Path()
let center = CGPoint(x: rect.midX, y: rect.midY)
path.move(to: center)
path.addArc(center: center, radius: rect.midX, startAngle: start, endAngle: end, clockwise: false)
return path
}
}

struct ContentView: View {
@State var fileData: Data?

var body: some View {
PieSegment(start: .zero, end: .degrees(45))
}
}

关于swift - 如何在 SwiftUI 中绘制圆的径向切片? (即饼状图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66659030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com