4

私がやろうとしているのは、ボタンの周りのパルスをシミュレートすることです。ボタンのレイヤーのプロパティを変更して、グロー効果を機能させることができます。ただし、アニメーション化することはできません。これが私がこれまでに試したことです:

UIColor *confirmButtonColor = self.btnConfirm.currentTitleColor;
self.btnConfirm.layer.shadowOffset = CGSizeZero;

self.btnConfirm.layer.masksToBounds = NO;
self.btnConfirm.layer.shadowColor = confirmButtonColor.CGColor;
self.btnConfirm.layer.shadowRadius = 6.0f;
 self.btnConfirm.layer.shadowOpacity = .0f;
[UIView animateWithDuration:1.2 delay:5 options:UIViewAnimationCurveLinear animations:^{
    self.btnConfirm.layer.shadowOpacity = 1.0f;
}completion:nil];

グローはアニメーション化されずに表示されます。また、すべてのコードをアニメーション内に配置しようとしましたが、変更されませんでした。はい、インポートしQuartzます。

ありがとう

4

1 に答える 1

8

あなたが持っているものが機能しない理由はわかりません (おそらく誰かが私たちを啓発することができます) が、これは機能します:

UIColor *confirmButtonColor = self.btnConfirm.currentTitleColor;
self.btnConfirm.layer.shadowOffset = CGSizeZero;

self.btnConfirm.layer.masksToBounds = NO;
self.btnConfirm.layer.shadowColor = confirmButtonColor.CGColor;
self.btnConfirm.layer.shadowRadius = 6.0f;
self.btnConfirm.layer.shadowOpacity = 1.0f; // Note: You need the final value here
CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"shadowOpacity"];
animation.fromValue = [NSNumber numberWithFloat:.0];
animation.toValue = [NSNumber numberWithFloat:1.0];
[self.btnConfirm.layer addAnimation:animation forKey:@"shadowOpacity"];
于 2013-06-17T15:04:36.547 に答える