Строка появляется после анимации 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