iOS 视图抖动动画、视图旋转动画以及弹框动画效果

97 篇文章 0 订阅
79 篇文章 2 订阅

UIView/UIImageView等View 抖动效果


/**
 创建视图抖动效果
 
 @param view 控件
 */
+ (void)shakeAnimationForView:(UIView *) view{
    CALayer *viewLayer = view.layer;// 获取到当前的View
    CGPoint position = viewLayer.position;// 获取当前View的位置
    CGPoint x = CGPointMake(position.x + 6, position.y);// 移动的两个终点位置
    CGPoint y = CGPointMake(position.x - 6, position.y);// 移动的两个终点位置
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];// 设置动画
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]];// 设置运动形式
    [animation setFromValue:[NSValue valueWithCGPoint:x]];// 设置开始位置
    [animation setToValue:[NSValue valueWithCGPoint:y]];// 设置结束位置
    [animation setAutoreverses:YES];// 设置自动反转
    [animation setDuration:.08];// 设置时间
    [animation setRepeatCount:4];// 设置次数
    [viewLayer addAnimation:animation forKey:nil];// 添加上动画
}

UIView/UIImageView等View 旋转效果


/**
 创建视图旋转效果
 
 @param view 控件
 */
+ (void)mPiAnimatuinForView:(UIView*)view{
    CABasicAnimation *layer = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    layer.toValue = @(2*M_PI);
    layer.removedOnCompletion = false;
    layer.repeatCount = MAXFLOAT;
    // 设置时间
    [layer setDuration:.08];
    // 设置次数
    [layer setRepeatCount:4];
    [view.layer addAnimation:layer forKey:nil];
}

UIView/UIImageView等View 弹框效果


/**
 添加简单的弹框缓冲效果

 @param allView 动画View
 */
+ (void)animationWithAlertViewWithView:(UIView*)allView{
    CAKeyframeAnimation * animation;
    animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
    animation.duration = 0.2;
    animation.removedOnCompletion = YES;
    animation.fillMode = kCAFillModeForwards;
    NSMutableArray *values = [NSMutableArray array];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1, 1.1, 1.0)]];
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
    animation.values = values;
    [allView.layer addAnimation:animation forKey:nil];
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王 哪跑!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值