我正在尝试在 SwiftUI 中创建一个圆的切片。我正在尝试修剪,但它的行为很奇怪。它从该区域的最外点开始选取数量。这样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()
}
}
Run Code Online (Sandbox Code Playgroud)
使用Path带有圆弧的 a 是执行此操作的正常方法:
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))
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1624 次 |
| 最近记录: |