Я пытаюсь переместить UILabel влево и анимировать движение. UILabel создается из раскадровки и имеет следующие ограничения:

Но если я попытаюсь сделать конечный пробел постоянным, равным, скажем, 150 вместо 20, чтобы переместить его влево, он странно отскакивает влево на секунду, а затем возвращается в середину. Поэтому я понизил приоритет левого ведущего ограничения до 900, но все равно произошло то же самое.
Итак, я попытался:
self.textToReadLabel.transform = CGAffineTransformMakeTranslation(-500.0, 0.0);
Который перемещает его, но если я использую с ним анимацию, он соскальзывает с экрана, скользит обратно, а затем останавливается на том месте, где должен... после всей этой театральности.
Как именно я могу этого добиться?
Все, что происходит, когда я нажимаю кнопку, чтобы переместить метку:
self.textHorizontalPlacementConstraint.constant = 150.0;
self.textHorizontalPlacementConstraint2.constant = -110.0;
[UIView animateWithDuration:1.0 animations:^{
[self.view layoutIfNeeded];
}];
CATransition *animation = [CATransition animation];
animation.duration = 0.5;
animation.type = kCATransitionFade;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[self.textToReadLabel.layer addAnimation:animation forKey:@"changeTextTransition"];
// Change the text
self.textToReadLabel.text = @"text";
}