实现原理
实现原理是采用贝塞尔曲线和CAShapeLayer绘制出三角、圆弧、直线,然后通过核心动画实现的动态效果。
使用方法XLPlayButton 是继承UIButton的,只是创建方式和UIButton不同,开题报告,开题报告,其他的使用方法均一致。
创建方法
_iQiYiPlayButton = [[iQiYiPlayButton alloc] initWithFrame:CGRectMake(0, 0, 60, 60) state:iQiYiPlayButtonStatePlay];唯一属性
/** 通过setter方式控制按钮动画 设置XLPlayButtonStatePlay显示播放按钮 设置XLPlayButtonStatePause显示暂停按钮 */ @property (nonatomic, assign) XLPlayButtonState buttonState;切换状态方法
- (void)iQiYiPlayMethod { //通过判断当前状态 切换显示状态 if (_iQiYiPlayButton.buttonState == iQiYiPlayButtonStatePause) { _iQiYiPlayButton.buttonState = iQiYiPlayButtonStatePlay; }else { _iQiYiPlayButton.buttonState = iQiYiPlayButtonStatePause; } }Github:https://github.com/mengxianliang/XLPlayButton