Я выполняю 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 пуст. Кроме того, этикетка стала немного меньше, чем была изначально.
Прикрепленные изображения не пропорциональны.
До анимации:
После анимации:
Любые предположения, почему это могло произойти?