1. ホーム
  2. ios

[解決済み] UIButtonでネイティブな "Pulse effect "アニメーションを行う方法 - iOS

2023-03-15 06:22:36

質問

UIButtonに何らかのパルスアニメーション(無限ループ、スケールイン-スケールアウト)を適用して、ユーザーの注意を即座に引き付けたいのですが、可能でしょうか。

私はこのリンクを見ました webkit-animation - outward rings を使用してパルス効果を作成する方法 とありますが、ネイティブフレームワークだけでできる方法はないのでしょうか?

どのように解決するのですか?

CABasicAnimation *theAnimation;

theAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"];
theAnimation.duration=1.0;
theAnimation.repeatCount=HUGE_VALF;
theAnimation.autoreverses=YES;
theAnimation.fromValue=[NSNumber numberWithFloat:1.0];
theAnimation.toValue=[NSNumber numberWithFloat:0.0];
[theLayer addAnimation:theAnimation forKey:@"animateOpacity"]; //myButton.layer instead of

スウィフト

let pulseAnimation = CABasicAnimation(keyPath: #keyPath(CALayer.opacity))
pulseAnimation.duration = 1
pulseAnimation.fromValue = 0
pulseAnimation.toValue = 1
pulseAnimation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
pulseAnimation.autoreverses = true
pulseAnimation.repeatCount = .greatestFiniteMagnitude
view.layer.add(pulseAnimation, forKey: "animateOpacity")

レイヤーの内容をアニメーション化する」を参照してください。