         let linePath = UIBezierPath()
         let midAngle = (startAngle! + endAngle!) / 2
         
-        let startPoint = CGPoint(x: center.x + cos(midAngle) * (radius - 10), y: center.y + sin(midAngle) * (radius - 10))
-        let turningPoint = CGPoint(x: center.x + cos(midAngle) * (radius + 10), y: center.y + sin(midAngle) * (radius + 10))
+        let startPoint = CGPoint(x: center.x + cos(midAngle) * (radius - lineLength!), y: center.y + sin(midAngle) * (radius - lineLength!))
+        let turningPoint = CGPoint(x: center.x + cos(midAngle) * (radius + lineLength!), y: center.y + sin(midAngle) * (radius + lineLength!))
         let isEndPointLeft = turningPoint.x < center.x
-        let endPoint = CGPoint(x: turningPoint.x + (isEndPointLeft ? -1 : 1) * 10, y: turningPoint.y)
+        let endPoint = CGPoint(x: turningPoint.x + (isEndPointLeft ? -1 : 1) * lineLength!, y: turningPoint.y)
         
         linePath.move(to: startPoint)
         linePath.addLine(to: turningPoint)

    fileprivate var subView: UIView?
    fileprivate var lineColor: UIColor?
    
    init(frame: CGRect, startAngle: CGFloat, endAngle: CGFloat, color: UIColor, subView: UIView) {
        super.init(frame: frame)
        self.backgroundColor = UIColor.clear

        
        let x = subView?.frame.width ?? 0
        if isEndPointLeft {
            subView?.center = CGPoint(x: endPoint.x - x / 2, y: endPoint.y)
        } else {
            subView?.center = CGPoint(x: endPoint.x + x / 2, y: endPoint.y)
        }
        
        addSubview(subView!)
