我在 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 是空的,它也会出现。标签也比最初的要小一些。
附加的图像不成比例。
动画前:
动画之后:
任何猜测为什么会发生这种情况?