模拟长按图标,图标抖动效果
2016-08-16 08:45
459 查看
大体思路:前面的创建图片视图就不讲了,
1.创建长按手势UILongPressGestureRecognizer并添加到视图上
2.创建CAAnimation动画,因为图标抖动是左右旋转的一种效果,弧度不是很大,计算一个较小的弧度,设置动画运动轨迹animation.values = @[];旋转应该是绕z轴旋转
3.因为是一直动,所以将动画重复次数设置为MACFLOAT,设置动画持续时间为几秒,因为左右抖动的时间比较快
4.最后就是把动画添加到图片图层
1.创建长按手势UILongPressGestureRecognizer并添加到视图上
2.创建CAAnimation动画,因为图标抖动是左右旋转的一种效果,弧度不是很大,计算一个较小的弧度,设置动画运动轨迹animation.values = @[];旋转应该是绕z轴旋转
3.因为是一直动,所以将动画重复次数设置为MACFLOAT,设置动画持续时间为几秒,因为左右抖动的时间比较快
4.最后就是把动画添加到图片图层
// // ViewController.m // LongPressAnimation // // Created by mac on 16/8/15. // Copyright © 2016年 zxj. All rights reserved. // #import "ViewController.h" @interface ViewController () { //创建图标视图 UIImageView *aconImageV; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //创建图标视图 aconImageV = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 150, 150)]; aconImageV.image = [UIImage imageNamed:@"p4.jpg"]; //圆角和裁剪一起使用,才能使图片有圆角的效果 //设置圆角 aconImageV.layer.cornerRadius = 20; //裁剪超出视图的部分 aconImageV.layer.masksToBounds = YES; //一定要开启用户交互 aconImageV.userInteractionEnabled = YES; [self.view addSubview:aconImageV]; //创建并添加长按手势 UILongPressGestureRecognizer *longP = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressGAciton)]; [aconImageV addGestureRecognizer:longP]; } #pragma mark - 长按调用的方法 - (void) longPressGAciton { //获取动画 CAAnimation *animation = [self rotationAnimation]; //将动画添加到图片图层 [aconImageV.layer addAnimation:animation forKey:nil]; } #pragma mark - 抖动方法 - (CAAnimation *) rotationAnimation { //1.创建动画 //这里的transform一定不要误写成transition! CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"]; //持续时间,无限循环 animation.duration = 0.2; //计算弧度30度 CGFloat angle = M_PI/60; //设置动画轨迹(不变,左边,不变,右边,不变) animation.values = @[@0,@(-angle),@0,@(angle),@0]; //设置重复次数 animation.repeatCount = MAXFLOAT; return animation; } @end
相关文章推荐
- css3 模拟 mac 的 菜单图标列表(兼容ie,但ie8及以下效果有差异) 分类: css3 button 按钮 面板 2014-02-12 14:21 741人阅读 评论(0) 收藏
- 模拟QQ窗口抖动效果
- Android仿Iphone图标抖动效果
- css3 模拟 mac 的 菜单图标列表(兼容ie,但ie8及以下效果有差异)
- js模拟QQ窗口的抖动效果
- Android仿Iphone图标抖动效果
- Jquery实现的图标抖动效果
- iOS图标抖动效果
- ios开发核心动画五:图标抖动效果--CAKeyframeAnimation
- C# 窗口程序运行期间,修改图标,模拟闪动的效果
- js模拟QQ窗口的抖动效果
- iOS APP图标长按抖动效果的实现(CAAnimation)
- 使用UICollectionView实现应用程序管理(删除图标 抖动效果)
- 模拟QQ窗口抖动效果(通过MoveWindow和Sleep进行模拟)
- Android仿Iphone图标抖动效果
- jQuery模拟窗口抖动效果
- 如果模拟一种图标被删除时一种颜色渐变的效果,采用TransitionDrawable实现
- 解决IE使用css表达式模拟fixed效果时抖动问题
- CAKeyframeAnimation实现抖动效果
- Android简易实战教程--第十九话《手把手教您监听EditText文本变化,实现抖动和震动的效果》