UIView动画iPhone(动态获取有关帧的信息)

时间:2010-03-23 13:40:31

标签: iphone objective-c animation uiview

我有一个名为 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>

我们非常感谢您提供有关如何执行上述操作的任何帮助。

3 个答案:

答案 0 :(得分:0)

如何观察视图的frame属性。这样当你改变时就会得到回调。

请参阅键值观察。

答案 1 :(得分:0)

我已经研究过了,看起来在UIView动画过程中无法获得动画组件状态的更新。

答案 2 :(得分:0)

你可以成功!如果你自己制作动画,那就是老式的。做一些像布拉德说HERE的东西,并将增加的变量写入你的UILabel。归功于布拉德。