我正在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为空也会出现。 此外,标签比最初的标签要小一些。
附加的图像不成比例。
动画之前:
动画制作完成后:
任何猜测为什么会发生这种情况?
答案 0 :(得分:0)
最后我发现了这个问题。 我在动画运行时更改了该标签的框架。 完成动画后对标签框架进行更改可以解决问题。