项目名称:WWAnimationTabbar
项目地址:https://github.com/WilliamZhangWH/WWAnimationTabbar
效果展示
调用方法
increasedHeight为0即为系统TabBar高度
1 | - (instancetype)initWithFrame:(CGRect)frame increasedHeight:(CGFloat)height; |
代理方法
记录从哪里跳转到哪里
1 | - (void)tabBar:(WWTabBar *)tabBar selectedFrom:(NSInteger)from to:(NSInteger)to; |
按钮点击圆形扩展动画原理
原理:创建CAShapeLayer图层,通过UIBezierPath创建两个绘图路径,再通过CABasicAnimation完成两个绘图路径之间动画转变
图层创建>>
1 | - (CAShapeLayer *)circlePathLayer { |
绘图路径创建 (需要创建两个路径,第一个是点击时候出现的一个小圆,第二个是覆盖整个按钮的一个大圆)
小圆路径创建
1 | - (UIBezierPath *)getSmallCirclePath { |
大圆路径创建
1 | - (UIBezierPath *)getBigCirclePath { |
小圆到大圆的扩张动画
1 | - (void)pathExpandAnimate { |
通过按钮的触摸事件来触发动画的开始和结束
1 | - (void)showCircleLayerWithPoint:(CGPoint)position { |
参考文档
http://www.07net01.com/2015/07/874188.html