Анимация уменьшения размера UILabel

При увеличении высоты маркировки все прекрасно и гладко. Когда decreaseing, маркировка немедленно изменяет размер, затем меняющий местоположение с анимацией.

@interface
@property (nonatomic, retain) IBOutlet UILabel *explanationLabel;

@implementation
CGRect frmExpl = explanationLabel.frame;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.75];

frmExpl.size.height -= height;
explanationLabel.frame = frmExpl;

[UIView commitAnimations];  

Я попытался заменить UILabel UIView и конечно нет такой проблемы с UIView.

Там какой-либо специальный путь состоит в том, чтобы анимировать уменьшение размера UILabel?

Вот минимальный проект, демонстрирующий описанную проблему.Скачать

9
задан Pablo 21 July 2010 в 13:15
поделиться

1 ответ

Я думаю, что вы хотите изменить границы, а не рамку. Из документации:

"Прямоугольник границ определяет начало координат и масштаб в системе координат представления в пределах его прямоугольника рамки и измеряется в точках. Установка этого свойства изменяет значение свойства рамки соответствующим образом." - Класс UIView; свойство bounds

Попробуйте что-нибудь вроде:

- (void)animate:(id)sender
{
    ...
    CGRect newBounds = testLabel.bounds;
    newBounds.size.height += 50;
    testLabel.bounds = newBounds;
    ...
}
2
ответ дан 4 December 2019 в 11:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: