我试图使饼图如下,这是工作正常,但我有问题的结束路径(这是橙子的下图)。
我想做的是使橙子形状的结束到下面的绿色之一,这样我就可以实现如下。
有什么建议可以做到这一点?
代码可以在下面的链接找到。
https://drive.google.com/file/d/1ST0zNooLgRaI8s2pDK3NMjBQYjBSRoXB/view?usp=sharing
下面是我所拥有的。
func drawBeizer(start_angle : CGFloat, end_angle : CGFloat, final_color : UIColor) {
let path1 : UIBezierPath = UIBezierPath()
path1.addArc(withCenter: CGPoint(x: self.frame.size.width/2, y: self.frame.size.height/2), radius: ((self.frame.size.width-main_view_width)/2), startAngle: start_angle, endAngle: end_angle, clockwise: true)
path1.lineWidth = main_view_width
path1.lineCapStyle = .round
final_color.setStroke()
path1.stroke()
}
这个函数传递路径的起始Angular 和结束Angular 及颜色。
2条答案
按热度按时间y4ekin9u1#
此解决方案适用于使用
Path
的SwiftUI
。我正在规范化Angular 的行为更像在数学与90度在顶部,而不是在底部。
结果:
bqf10yzr2#
我找到了一个方法来做到这一点。下面是完整的代码。
我正在使用结束Angular 添加其他addArc。
视图控制器.swift
我的视图.swift
完整代码here
第一次