CAKeyframeAnimation(关键帧动画)的简单使用

来源:互联网 发布:国泰安数据库介绍 编辑:程序博客网 时间:2024/06/07 04:48
- (void)keyFramAnimation {    //关键帧动画    CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position.x"];    animation.duration = 0.3;    //配置关键帧每一帧的值    animation.values = @[@160,@150,@150,@170,@160];//    animation.path    //配置关键帧每一帧起始时间,范围 0 - 1    animation.keyTimes = @[@0.0,@(1/6),@(3/6),@(5/6),@1.0];    //配置关键帧每一帧之间的线性变换//    animation.timingFunctions = @[//        [CAMediaTimingFunction functionWithName://         kCAMediaTimingFunctionEaseInEaseOut],//        [CAMediaTimingFunction functionWithName://         kCAMediaTimingFunctionEaseInEaseOut],//        [CAMediaTimingFunction functionWithName://         kCAMediaTimingFunctionEaseInEaseOut],//        [CAMediaTimingFunction functionWithName://         kCAMediaTimingFunctionEaseInEaseOut],//        ];    [self.view.layer addAnimation:animation forKey:@"position"];}


输入验证失败的抖动效果:

- (void)animation {        UITextField *name = (UITextField *)[self.view viewWithTag:10];    CAKeyframeAnimation *kayFram = [CAKeyframeAnimation animationWithKeyPath:@"position"];    kayFram.duration = 0.1;    kayFram.repeatCount = 3;    UIBezierPath *path = [[UIBezierPath alloc]init];    [path moveToPoint:name.center];    [path addLineToPoint:CGPointMake(name.center.x - 5,name.center.y)];    [path addLineToPoint:CGPointMake(name.center.x + 5,name.center.y)];        [path closePath];    kayFram.path = path.CGPath;    [path release];    [name.layer addAnimation:kayFram forKey:@"position"];}


0 0
原创粉丝点击