我有一个名为 goalBar 的UIView
,它根据名为 destination 的浮点值增加帧的大小来设置动画:
CGRect goalBarRect = CGRectMake(0, 0, destination, 29);
[UIView beginAnimations:@"goal" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDuration:2.0f];
goalBar.frame = goalBarRect;
[UIView commitAnimations];
动画效果很好,矩形视图在动画过程中增加了宽度(从 0 到目的地的值)。
但是,我希望能够在动画发生时提取动画UIView
的帧(即 goalBar )的值。我的意思是,我希望将动画帧的宽度值放在单独的UILabel
中,以便用户看到一个计数器,在计算动画时提供UIView
的宽度。 / p>
我们非常感谢您提供有关如何执行上述操作的任何帮助。
答案 0 :(得分:0)
如何观察视图的frame属性。这样当你改变时就会得到回调。
请参阅键值观察。
答案 1 :(得分:0)
我已经研究过了,看起来在UIView动画过程中无法获得动画组件状态的更新。
答案 2 :(得分:0)
你可以成功!如果你自己制作动画,那就是老式的。做一些像布拉德说HERE的东西,并将增加的变量写入你的UILabel。归功于布拉德。