动画UILabel后出现线条

时间:2013-05-21 04:18:55

标签: ios animation uilabel drawrect

我正在MyUILabel上执行2个动画。 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为空也会出现。 此外,标签比最初的标签要小一些。

附加的图像不成比例。

动画之前:

Before animations

动画制作完成后:

After animations

任何猜测为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

最后我发现了这个问题。 我在动画运行时更改了该标签的框架。 完成动画后对标签框架进行更改可以解决问题。