Анимированное уменьшение ширины UILabel не отображается - PullRequest
4 голосов
/ 03 февраля 2012

Я пытаюсь уменьшить ширину UILabel внутри анимации, но ширина меняется мгновенно без анимации! Если я увеличу ширину, все будет работать нормально, и вы увидите анимацию.

Вот мой код:

[UIView animateWithDuration:0.5 
                      delay:0.0 
                    options:UIViewAnimationCurveLinear 
                 animations:^ (void){
                       CGRect theNewFrame      = self.titleLabel.frame;
                       theNewFrame.size.width -= 50.0; 
                       self.titleLabel.frame   = theNewFrame;
                 }
                 completion:^(BOOL finished){}];

Так что, если я изменюсь

theNewFrame.size.width -= 50.0;

до

theNewFrame.size.width += 50.0;

Вы можете наблюдать, как увеличивается ярлык. Но уменьшение ширины не сработает!

У меня нет объяснения этому поведению. Это ошибка?

Спасибо за ваши ответы!

1 Ответ

1 голос
/ 13 ноября 2012

Попробуйте установить contentMode метки на UIViewContentModeCenter перед запуском анимации.

self.titleLabel.contentMode = UIViewContentModeCenter;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...