美文网首页
iOS ~ ShapeLayer、CABasicAnimatio

iOS ~ ShapeLayer、CABasicAnimatio

作者: 阳光下的叶子呵 | 来源:发表于2022-03-30 15:48 被阅读0次

(实现左右摇晃,并伴随着震动)

#pragma mark 输入错误抖动动画
- (void)shakeAnimationForView
{
    // 获取当前View的位置
    CGPoint position = self.selectLayer.position;
    // 移动的两个终点位置
    CGPoint x = CGPointMake(position.x + 3, position.y);
    CGPoint y = CGPointMake(position.x - 3, position.y);
    // 设置动画
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
    // 设置运动形式
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
    // 设置开始位置
    [animation setFromValue:[NSValue valueWithCGPoint:x]];
    // 设置结束位置
    [animation setToValue:[NSValue valueWithCGPoint:y]];
    // 设置自动反转
    [animation setAutoreverses:YES];
    // 设置时间
    [animation setDuration:.08];
    // 设置次数
    [animation setRepeatCount:3];
    // 添加上动画
    [self.selectLayer addAnimation:animation forKey:nil];

    // 轻触反馈(添加震动效果)
    if (@available(iOS 10.0, *)){
        UIImpactFeedbackGenerator *feedBackGenertor = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight];
        [feedBackGenertor impactOccurred];
     }
}

相关文章

网友评论

      本文标题:iOS ~ ShapeLayer、CABasicAnimatio

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