2016-03-25 30 views
2

Animasyon kilidini açmak için sürmeyi oluşturmak üzere bu kodu kullanıyorum ancak animasyonunu right to left uygulamasından gerçekleştiremiyorum.Animasyon gibi kilidini açmak için slaytla ilgili yardıma ihtiyacınız var

Bunu sağdan ve canlıdan sola nasıl başlatabilirim?

-(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; 
} 

cevap

0

Negatif bir byValue kullanabilmeniz gerekir. Ancak, gönderdiğiniz kod, bir slayt hareketine yanıt veren değil, hazır bir animasyondur.

+0

Negatif değeri denedim, ancak tek bir animasyon davranışı veriyor. Ben yerçekimi bir rol oynuyor ama onu sağdan sola nasıl canlandırıyorsun. –

+0

Daha önce contentGravity kullanmayı denemedim. ByValue'dan kurtulmak ve bunun yerine ,Value ve toValue değerini ayarlamak nasıl olur? –

+0

Lütfen son yorumunuzu cevap olarak güncelleyebilir, böylece kökünü kaldırabilir ve doğru cevap olarak işaretleyebilirim. –