粒子效果(復(fù)制層)
開(kāi)始
重繪
-
自定義一個(gè)DrawView
綁定控制器的view
awakeFromNib中添加手勢(shì)pan
-
創(chuàng)建粒子
- CALayer * dotLayer
- cornerRadius
- frame x 設(shè)置為負(fù)值,就能達(dá)到隱藏的效果
-
drawView中提供兩個(gè)方法,作為接口
-
開(kāi)始
- 創(chuàng)建幀動(dòng)畫(huà)CAKeyFrameAnimation
- 根據(jù)路徑做移動(dòng)keyPath
- .path = self.path.CGPath;
- 把動(dòng)畫(huà)加給粒子,定義一個(gè)粒子的成員屬性
- duration
- repeatCount
- 讓當(dāng)前的view成為復(fù)制層,復(fù)制其子層
- layerClass
- CAReplicatorLayer
- instanceCount = 50;
- 設(shè)置延遲執(zhí)行時(shí)間,instanceDelay = 0.25;
-
重繪
- 移除所有的動(dòng)畫(huà)
- [self.dotLayer removeAllAnimation]
- 刪除路徑
- 刪除路徑當(dāng)中所有的點(diǎn)
- removeAllPoints
- setNeedsDisplay
- 移除所有的動(dòng)畫(huà)
-
-
pan手勢(shì)里
- curP = [pan locationInView:self]
- 開(kāi)始:
- 創(chuàng)建路徑
- moveToPoint:
- self.path = path
- 改變:
- 定義一個(gè)成員屬性path
- addLineToPoint:
- setNeedsDisplay
-
drawRect方法里面
- stroke
注意:一個(gè)路徑可以畫(huà)多條線