2
このコードを使用してアニメーションのようにロックを解除するスライドを作成していますが、right to left
からアニメートできません。アニメーションのようにロックを解除するスライドに関する支援が必要
どうすれば右から開始し、左にアニメーションできますか?
-(void)slideToCancel {
CALayer *maskLayer = [CALayer layer];
// Mask image ends with 0.15 opacity on both sides. Set the background color of the layer
// to the same value so the layer can extend the mask image.
maskLayer.backgroundColor = [[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.50f] CGColor];
maskLayer.contents = (id)[[UIImage imageNamed:@"slidetocancel.png"] CGImage];
// Center the mask image on twice the width of the text layer, so it starts to the left
// of the text layer and moves to its right when we translate it by width.
maskLayer.contentsGravity = kCAGravityCenter;
maskLayer.frame = CGRectMake(_slideToCancelLbl.frame.size.width * -1, 0.0f, _slideToCancelLbl.frame.size.width * 2, _slideToCancelLbl.frame.size.height);
// Animate the mask layer's horizontal position
CABasicAnimation *maskAnim = [CABasicAnimation animationWithKeyPath:@"position.x"];
maskAnim.byValue = [NSNumber numberWithFloat:_slideToCancelLbl.frame.size.width];
maskAnim.repeatCount = 1e100f;
maskAnim.duration = 1.5f;
[maskLayer addAnimation:maskAnim forKey:@"slideAnim"];
_slideToCancelLbl.layer.mask = maskLayer;
}
私は負の値を試しましたが、奇妙なアニメーション動作をしています。私は物事の重力がいくつかの役割を果たしているが、右から左にアニメーション化する方法。 –
私はcontentsGravityを使用する前に試していません。代わりにbyValueを取り除き、代わりにfromValueとtoValueを設定するのはどうですか? –
あなたはあなたの最後のコメントを答えとして更新できますので、私はそれを根絶して正しい答えとしてチェックしてください。 –