Изпълнявам 2 анимации на MyUILabel. MyUILable е моят персонализиран клас, извлечен от UILabel и има внедрен метод drawRect, който рисува само граници.
Това е моят анимационен код:
- (void)animateLableIn
{
UIViewAnimationOptions options = UIViewAnimationOptionBeginFromCurrentState|UIViewAnimationOptionAllowUserInteraction;
[UIView animateWithDuration:0.1f delay:0.0 options:options animations:^{
label.transform = CGAffineTransformMakeScale(1.1f, 1.1f);
} completion:^(BOOL finished) {
if (finished) {
[self animateLableOut];
}
}];
}
- (void)animateLableOut
{
UIViewAnimationOptions options = UIViewAnimationOptionBeginFromCurrentState|UIViewAnimationOptionAllowUserInteraction;
[UIView animateWithDuration:0.1f delay:0.0 options:options animations:^{
label.transform = CGAffineTransformMakeScale(1.0f, 1.0f);
} completion:^(BOOL finished) {
if (finished) {
}
}];
}
В началото на първата анимация се появява сива линия в горния ръб на етикета ми и остава след приключване на всички анимации. Искам да спомена, че този ред не е част от моята реализация на drawRect и се появява дори ако моят drawRect е празен. Освен това етикетът е малко по-малък от първоначалния.
Приложените изображения не са пропорционални.
Преди анимации:
След анимации:
Някакво предположение защо може да се случи това?