2016-03-25 3 views
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; 
} 

ответ

0

Вы должны иметь возможность просто использовать отрицательный параметр byValue. Тем не менее, код, который вы опубликовали, представляет собой законсервированную анимацию, а не тот, который отвечает на жест слайдов.

+0

Я пробовал отрицательное значение, но он дает нечетное поведение анимации. Я считаю, что гравитация играет определенную роль, но как заставить ее оживить справа налево. –

+0

Я не пробовал использовать contentGravity раньше. Как насчет избавления от byValue и настройки fromValue и toValue? –

+0

Просьба обновить свой последний комментарий в качестве ответа, чтобы я мог искоренить его и отметить как правильный ответ. –

 Смежные вопросы

  • Нет связанных вопросов^_^