Линията се появява след анимиране на UILabel

Изпълнявам 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 е празен. Освен това етикетът е малко по-малък от първоначалния.

Приложените изображения не са пропорционални.

Преди анимации:

Преди анимации

След анимации:

След анимации

Някакво предположение защо може да се случи това?


person Andrey    schedule 21.05.2013    source източник
comment
Имах подобен проблем и трябваше да използвам десетични знаци. Шрифтът имаше проблеми с изобразяването. Играйте малко с 1.1   -  person Vertig0    schedule 21.05.2013


Отговори (1)


Най-накрая открих проблема. Промених рамката на този етикет по време на изпълнение на анимациите. Извършването на промени в рамката на етикета след приключване на анимациите коригира проблема.

person Andrey    schedule 23.05.2013