#pragma mark - 矫正不倒翁位置
- (void)setAnchorPoint:(CGPoint)anchorpoint forView:(UIView *)view{CGRect oldFrame = view.frame;view.layer.anchorPoint = anchorpoint;view.frame = oldFrame;
}- (void)startShowAnimation{[self setAnchorPoint: CGPointMake(0.5,1) forView:_babyImage];CABasicAnimation *displacementYAnimation = [CABasicAnimation animationWithKeyPath:@"position.y"];displacementYAnimation.fromValue = @(_babyImage.layer.position.y);displacementYAnimation.toValue = @(_babyImage.layer.position.y-5);displacementYAnimation.duration = 0.01;displacementYAnimation.removedOnCompletion = NO;displacementYAnimation.fillMode = kCAFillModeForwards;CABasicAnimation* startAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];startAnimation.toValue = [NSNumber numberWithFloat:-(M_PI/4) ];startAnimation.duration = 0.2;startAnimation.beginTime = 0.01;startAnimation.cumulative = NO;startAnimation.removedOnCompletion = NO;startAnimation.fillMode = kCAFillModeForwards;CABasicAnimation *backCenterAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];backCenterAnimation.toValue = [NSNumber numberWithFloat:0];backCenterAnimation.duration = 0.2;backCenterAnimation.beginTime = 0.2;backCenterAnimation.removedOnCompletion = NO;backCenterAnimation.fillMode = kCAFillModeForwards;CABasicAnimation *endAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];endAnimation.toValue = [NSNumber numberWithFloat:(M_PI/4) ];endAnimation.duration = 0.2;endAnimation.beginTime = 0.4;endAnimation.removedOnCompletion = NO;endAnimation.fillMode = kCAFillModeForwards;CABasicAnimation *backAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];backAnimation.toValue = [NSNumber numberWithFloat:0];backAnimation.duration = 0.2;backAnimation.beginTime = 0.6;backAnimation.removedOnCompletion = NO;backAnimation.fillMode = kCAFillModeForwards;CAAnimationGroup *animationGroup = [CAAnimationGroup animation];animationGroup.animations = @[displacementYAnimation,startAnimation,backCenterAnimation,endAnimation,backAnimation];animationGroup.duration = 0.8;animationGroup.repeatCount = 8;[_babyImage.layer addAnimation:animationGroup forKey:@"rotationAnimationZ"];}- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{if (motion == UIEventSubtypeMotionShake) {[self startShowAnimation];}
}
 

ios 做不倒翁动画效果相关推荐

  1. ios 视图切换动画效果

    http://wangjun.easymorse.com/?p=1147 在ios view与view间切换的动画效果这篇文章中简单介绍了一种动画效果,下面我详细介绍一下ios中页面间跳转系统自带的动 ...

  2. iOS几种动画效果的实现

    做过一个项目,里面涉及到的动画效果比较多,在这里做个小小的总结. 直线动画效果 实现一个物体在某段时间从一个点移动到另一个点. 效果如下: 动画相关代码如下: 动画模型: @interface Ani ...

  3. ios实现图片动画效果

    实现动画效果的原理:通过定时修改UIImageView和UIImage区域来达到. 举例(左上角飞入): -(void)topLeft:(NSInteger) picNum playOrder:(NS ...

  4. iOS中字迹动画效果

    最近自己着手一款关于中国风的app,其中需要的一个想法就是诗词可以像ppt中的一种模式:字可以一个个的显示出来.最先的想法是将诗词分成一个个字放在一个个label上面,然后添加动画将其显示出来!然后这 ...

  5. Java做一个动画效果音量调节_设计与实现一个 ISoundable 接口,该接口具有发声功能、还能调节音量大小...

    [java]代码库package experiment6; public interface ISoundable { public void increaseVolume(); public voi ...

  6. iOS倒计时的动画效果

    -(void)countDown:(int)count{ if(count <=0){ //倒计时已到,作需要作的事吧. return; } UILabel* lblCountDown = [[ ...

  7. php 3d animation,如何用HTML5的Canvas制作3D动画效果

    HTML5的诞生给web前端界带来了不小轰动,像什么动画旋转.图片滑块.图片轮播等等这些3D特效,也引发了不少朋友想要学习HTML5的好奇心.最近我一直在做canvas动画效果,发现canvas这个东 ...

  8. matlab实现振动弹簧的实时动画,CSS如何实现弹簧动画效果

    CSS Animation在Web Animation中已不是新技术,不过在制作动画的时候,或许常常纠结timing-function如何使用.一般情况之下,都会使用animation-timing- ...

  9. Android 动画介绍及自定义3D动画效果的基本使用

    导语 Android的动画框架包括帧动画.视图动画(又叫补间动画).属性动画.在Android3.0之前,视图动画一家独大,但随之后属性动画框架被推出.相比属性动画,视图动画一个非常大的缺陷就是不具备 ...

最新文章

  1. mysql update join 锁表_Mysql事务中Update是否会锁表?
  2. 【CyberSecurityLearning 29】Linux下命令帮助、压缩、vim、软件安装
  3. C语言和C++语言关系
  4. IT基础设施最佳实践ITIL
  5. 【数据结构与算法】堆
  6. 法斗几个月长鼻筋_路医生说丨脚底板早起一下地特别疼?得了足底筋膜炎,该怎么办?...
  7. 跟老齐学python Django实战第一章错误解决
  8. Redis和Memcached的区别详解
  9. iOS 5与iOS 6的 low-memory 处理
  10. 电脑经常自动重启的原因
  11. 如何通过IDEA看Java源码
  12. AMOS分析技术:模型的群组分析;AMOS如何对同一个模型分别用男性数据和女性数据拟合?
  13. Spring Boot使用RabbitMQ出现诡异异常:Failed to send reply with payload 'OK',Cannot determine ReplyTo message
  14. 【ORACLE】详解oracle数据库UTL_ENCODE包各个函数的模拟算法
  15. 计算机科学中的哲学思想,冯_诺依曼的计算机科学哲学思想.doc
  16. BZOJ 2429: [HAOI2006]聪明的猴子
  17. JVM学习教程,带你轻松掌握Java虚拟机,吊打面试官
  18. 通过转让群的方法可以让16级以下的QQ号也能拥有QQ群(菜鸟QQ号不需开通QQ会员也能有群)
  19. (三)夯基础——urllib基本库的使用1.0
  20. dubbo注册服务5秒一个解决办法

热门文章

  1. 码神军训(四,五)——代码跳舞军体拳
  2. 8080 端口被占用的解决方法 netstat -ano;taskkill (命令行)
  3. Mac 序列号不可用导致超时代视频加密视频播放失败
  4. 自定义 Drawable实现灵动红鲤鱼特效
  5. 元素定位163邮箱账号密码输入框问题,iframe嵌套
  6. 在img的图片上添加文字
  7. Python解释器及IDLE的使用
  8. 辉芒微IO单片机FT60F11F-MRB
  9. y0usef(vulnhub)
  10. VMware虚拟机装windows xp系统