参考Demo:HYScratchCardViewExample
GitHub - HoneyLuka/HYScratchCardViewExample: a simple scratchCardView
分析:
1.使用CAShapeLayer、CALayer属性及touchesBegan、touchesMoved、touchesEnded、touchesCancelled方法。
2.CALayer(奖品图片)上放一层CAShapeLayer,当用户触摸到某个点,根据这个点设置path(使用CGMutablePathRef属性),CAShapeLayer的path为此路径。
3.可以自定义背景图、涂层图,刮开后用block回调来处理事件。
新知识:
1.CAShapeLayer 常用属性;
No.12.CALayer 子类:CAGradientLayer,CATextLayer, CAShapeLayer等等;
UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的。它真正的绘图部分,是由一个叫CALayer(Core Animation Layer)的类来管理。UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性,例如frame,bounds等等,实际上内部都是在访问它所包含的CALayer的相关属性。
延伸:
1.实现一个颜色渐变的弧形进度条;
网友评论