2016-11-16 115 views
0

目前是一個圓形圖上工作,沒有上畫了一圈沒有問題。我還需要繪製一個3/4圈,是否有任何指定的數學來定義3/4圈的路徑。我試圖通過減少錯過的位置值整圓,但不能得到準確的結果。任何人都可以幫忙嗎?如果有任何需要我我們如何能夠將圓的進展畫成「四分之三」 - 3/4?

UIBezierPath *circlePath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.frame.size.width/2.0f, self.frame.size.height/2.0f) 
                   radius:(self.frame.size.height * 0.5) - ([_lineWidth floatValue]/2.0f) 
                  startAngle:DEGREES_TO_RADIANS(startAngle) 
                  endAngle:DEGREES_TO_RADIANS(endAngle) 
                  clockwise:clockwise]; 

    circle    = [CAShapeLayer layer]; 
    circle.path   = circlePath.CGPath; 
    circle.lineCap  = kCALineCapRound; 
    circle.fillColor  = [UIColor clearColor].CGColor; 
    circle.lineWidth  = [_lineWidth floatValue]; 
    circle.zPosition  = 1; [self.layer addSublayer:circle]; 
; 

請參考下面的圖片,

3/4 Circle

注:我重視從網絡樣本圖像,但我相信我需要相同的結果。

回答

2

你已經擁有你所需要的代碼。功能bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:取開始角度和結束角度。如果你的起始角度爲0,終點角度爲3π/ 2,你會得到一個3/4的圓圈。 (3π/ 2爲270度,或一整圈的3/4)。

需要注意的是,如果你的目標是從0到360度的動畫一個圓圈,那麼你需要使用不同的技術。對於要創建完整的圓的路徑,安裝成CAShapeLayer,然後從0層的strokeEnd財產動畫爲1