ios經常使用的動畫類

QuartzCore類庫:函數

經常使用的類動畫

CALayer 繪圖的圖層spa

CAAnimation 抽象的動畫類,有一些基本的屬性,時間函數等orm

CAPropertyAnimation 繼承 CAAnimation 仍是抽象類,抽象出一些keyPath之類的屬性繼承

CABasicAnimation繼承自CAPropertyAnimation 顧名思義,基礎的動畫類,能夠實現基礎的動畫了ci

CAKeyframeAnimation 繼承自CAPropertyAnimation 關鍵針動畫animation

CATransition繼承自CAAnimation 封裝了一些系統的動畫,type,subTypeit

CAAnimationGroup繼承自CAAnimation 有animations的來組成動畫組io

 

CADisplayLink相似於NSTimer,按幀數來觸發,默認系統幀數60/秒,那麼能夠設置每幾幀觸發一次,可是當CPU佔用率較高的時候幀數打不到60次/秒,那麼就會跳幀,有些觸發被pass掉form

 

CAGradientLayer 繼承自CALayer,是一個作顏色漸變的Layer

CAShapeLayer繼承自CALayer,能夠劃線,填充的層

CATransaction 對Layer作動畫,begin ,commit 

CATransform3D CALayer 都有一個CATransform3D類型的transform屬性,可對layer坐x,y,z軸的變換,以及opacity,frame等等,配合CATransaction可完成動畫

 

CoreGraphics類庫:

CGContext 類,繪圖上下文

CGContextRef ctx = UIGraphicsGetCurrentContext();獲取當前上下文

CGContextAdd.....建立一個什麼,好比,矩形,圓形,曲線,line等等

CGContextSet......設置,好比StrokeColor,FillColor,lineWidth,alpha等等

用線繪製圖形的時候要用

CGContextBeginPath(ctx);

CGContextMovetoPoint(point)將起始點移到一個點上

而後CGContextAddLineToPoint(pont1)劃線

......

畫好後執行CGContextClosePath(ctx);

最後畫的時候:

CGContextFillPath(ctx);只是填充

CGContextDrawPath(ctx,kCGPathFillStroke)填充和線都畫,後面的emun能夠選擇也能夠跟上面同樣的效果

CGAffineTransform是各類2D變化,UIView的transform屬性就是這個類型

相關文章
相關標籤/搜索