我画了一个由 4 个圆弧组成的圆。我怎样才能在他们每个人上添加一个水龙头?
这是我添加弧线的方法:
override func draw(_ rect: CGRect) {
var lastArcAngle = -CGFloat.pi
func addArc(color: UIColor, percentage: CGFloat, index: Int) {
let fullCircle = CGFloat.pi * 2
let arcAngle = fullCircle * percentage
let path = UIBezierPath(arcCenter: CGPoint(x: rect.width/2, y: rect.height/2), radius: 50, startAngle: lastArcAngle, endAngle: lastArcAngle + arcAngle, clockwise: true)
color.setStroke()
path.lineWidth = 20
path.stroke()
lastArcAngle += arcAngle
}
addArc(color: .red, percentage: 1.5 / 6.0, index: 1)
addArc(color: .green, percentage: 1.5 / 6.0, index: 2)
addArc(color: .blue, percentage: 1.5 / 6.0, index: 3)
addArc(color: .purple, percentage: 1.5 / 6.0,index: 4)
}
您可以为每个段添加轮廓路径并检查一个点是否落入其中
添加
如果你需要将动作绑定到tapas,那么可以这样做,例如,如下所示 - 添加一个用于存储相关数据的结构