写一个iOS震动动画

作者: 碧霄问鼎 | 来源:发表于2015-04-01 16:41 被阅读2905次

        文末有彩蛋。

        想实现一个这样的动画:

    动画效果

        废话不多说,直接上代码。

        第一步:创建视图。

    UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

    button.backgroundColor = [UIColor redColor];

    [button addTarget:self action:@selector(shakeAnimationForView:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button];

        第二步:写动画。

    - (void)shakeAnimationForView:(UIView *) view

    {

    //获取到当前View的layer

    CALayer *viewLayer = view.layer;

    //获取当前View的位置

    CGPoint position = viewLayer.position;

    //移动的两个终点位置

    CGPoint beginPosition = CGPointMake(position.x + 10, position.y);

    CGPoint endPosition = CGPointMake(position.x - 10, position.y);

    //设置动画

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];

    //设置运动形式

    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]];

    //设置开始位置

    [animation setFromValue:[NSValue valueWithCGPoint:beginPosition]];

    //设置结束位置

    [animation setToValue:[NSValue valueWithCGPoint:endPosition]];

    //设置自动反转

    [animation setAutoreverses:YES];

    //设置时间

    [animation setDuration:.06];

    //设置次数

    [animation setRepeatCount:3];

    //添加上动画

    [viewLayer addAnimation:animation forKey:nil];

    }

        搞定。

        彩蛋:KenshinCui大神的动画入门,写的非常简单易懂。看完从此对iOS动画挺直腰杆走路。

    相关文章

      网友评论

      本文标题:写一个iOS震动动画

      本文链接:https://www.haomeiwen.com/subject/mquoxttx.html