美文网首页
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