IOS开发之——类似微信摇一摇的功能实现
首先,一直以为摇一摇的功能实现好高大上,结果百度了。我自己也模仿写了一个demo。主要代码如下:
新建一个项目,名字为AnimationShake。
主要代码:
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (motion == UIEventSubtypeMotionShake )
{
// User was shaking the device. Post a notification named "shake".
[[NSNotificationCenter defaultCenter] postNotificationName:@"shake" object:self];
}
}
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
-(void)addAnimations{
AudioServicesPlaySystemSound(_soundID);
//让imgup上下移动
CABasicAnimation *translation2 = [CABasicAnimation animationWithKeyPath:@"position"];
translation2.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
translation2.fromValue = [NSValue valueWithCGPoint:CGPointMake(160, 115)];
translation2.toValue = [NSValue valueWithCGPoint:CGPointMake(160, 40)];
translation2.duration = 0.4;
translation2.repeatCount = 1;
translation2.autoreverses = YES;
//让imagdown上下移动
CABasicAnimation *translation = [CABasicAnimation animationWithKeyPath:@"position"];
translation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
translation.fromValue = [NSValue valueWithCGPoint:CGPointMake(160, 345+44+20)];
translation.toValue = [NSValue valueWithCGPoint:CGPointMake(160, 420)];
translation.duration = 0.4;
translation.repeatCount = 1;
translation.autoreverses = YES;
[_imgDown.layer addAnimation:translation forKey:@"translation"];
[_imgUp.layer addAnimation:translation2 forKey:@"translation2"];
}
源码可以去我的github网站:https://github.com/linxiu下载看看。谢谢,欢迎大家指正,我是新手。
最新文章
- AFNetworking(AFN)总结
- java基础-基本数据类型
- .NET Core的“dotnet restore”、“dotnet build”和“dotnet run”命令都是用来干什么的?
- HTML标签语义化
- uva10943
- Java基础知识强化45:StringBuffer类之字符串反转的案例
- 移动web性能优化笔记
- Springboot基础篇
- ThinkPhp 添加模型类
- Hibernate-day02
- css计算属性 calc()
- MVC动态赋值的td选中,获取当前的td的ID或者值
- 简单的词法设计——DFA模拟程序
- nginx反向代理转发后页面上的js css文件无法加载【原创】
- Ubuntu16.04+cuda8.0rc+opencv3.1.0+caffe+Theano+torch7搭建教程
- java exception 01
- Delphi XE8 中TIdTCPClient的WriteLn编码变化!
- python监控端口脚本[jkport1.0.py]
- bionase
- JDK 注解详解