內容大綱:
CAShapeLayer簡介 貝塞爾曲線與CAShapeLayer的關系 strokeStart和strokeEnd 動畫 用CAShapeLayer實現進度條效果,以及更加復雜的效果
4、用於CAShapeLayer的貝塞爾曲線做為path,其path實一個首尾相接的閉環的曲線,即使該貝塞爾曲線不是一個閉環的曲線
圖2.png
如何建立貝塞爾曲線和CAShapeLayer的聯系:
屬性:path
UIBezierPath *circle = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0,0,200,100)];
shape.path = circle.CGPath;
屬性:fillColor 修改貝塞爾曲線的填充顏色
屬性:maskToBounds
4、將strokeStart值設定成0,然後讓strokeEnd的值變化觸發隱式動畫
類:CAShapeLayer
屬性:
處理方法:
shapeLayer.strokeStart = valueOne < valueTwo ? valueOne : valueTwo;
shapeLayer.strokeStart = valueOne > valueTwo ? valueOne : valueTwo;
屬性:
圓形進度條動畫.gif
源碼下載地址:CircleProgress中的 CircleProgress源碼
直接更改path的結果,並沒有理想中的漸變過程,所以需要使用核心動畫:
綜合示例源碼請看:https://github.com/HeYang123456789/UIView
如果fillColors不設置成 [UIColor clearColor].CGColor就會有這樣的效果:
轉載原址:http://www.cnblogs.com/goodboy-heyang/p/5185575.html