微信摇一摇功能代码解析

来源:互联网 发布:橙光立绘制作软件 编辑:程序博客网 时间:2024/05/25 18:10

一)通过UIWindow感知摇一摇动作

- (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)];    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"];    //    [aiLoad stopAnimating];//    aiLoad.hidden=YES;    }


原创粉丝点击