2015-10-30 9 views
5

मैं कोड के इस टुकड़े है:CAShapeLayer strokeStart और strokeEnd स्थिति

let arcPath = UIBezierPath(ovalInRect: CGRectMake(0, 0, frame.width, frame.height)) 

    circleLayer = CAShapeLayer() 
    circleLayer.path = arcPath.CGPath 
    circleLayer.fillColor = UIColor.clearColor().CGColor 
    circleLayer.strokeColor = UIColor.blueColor().CGColor 
    circleLayer.lineWidth = 5.0; 

    circleLayer.strokeStart = 0 
    circleLayer.strokeEnd = 0.7 

जो इस तरह परिणाम:

enter image description here

आप देख सकते हैं, चाप के दाईं ओर शुरू होता है वृत्त। मैं शीर्ष से शुरू चाप आकर्षित करना चाहता हूँ। मुझे यह कैसे करना है? क्या मैं पूरी चीज को -90 डिग्री तक घूमना चाहता हूं जो मैं करने की कोशिश कर रहा हूं?

धन्यवाद।

उत्तर

10

आप अपने मूल startAngle से इस

let bezierPath = UIBezierPath(arcCenter:CGPointMake(100,100), radius:40, startAngle: CGFloat(M_PI_2) * 3.0, endAngle:CGFloat(M_PI_2) * 3.0 + CGFloat(M_PI) * 2.0, clockwise: true) 

SceenShot

+0

यह काम करता है। धन्यवाद – gasparuff

0

मैं 90 * M_PI/180 घटाकर लगता है की तरह पथ बना सकते हैं और endAngle इस कार्य के लिए पर्याप्त है।

भगवान जानता है कि क्यों ऐप्पल शीर्ष के रूप में 90 डिग्री का इलाज करने का फैसला करता है।

संबंधित मुद्दे