2010-03-23 119 views
1

我有(动态的帧上获取的信息)被称为goalBarUIView正由根据称为目的地一个浮点值,增加帧的大小动画:UIView的动画iPhone

CGRect goalBarRect = CGRectMake(0, 0, destination, 29); 

[UIView beginAnimations:@"goal" context:nil]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
[UIView setAnimationDuration:2.0f]; 

goalBar.frame = goalBarRect; 

[UIView commitAnimations]; 

动画效果完美,矩形视图在动画过程中增加了宽度(从到目标的值)。

但是,我希望能够在动画发生时提取正在动画的UIView的帧的值(即goalBar)。我的意思是我希望将动画帧的宽度值放在单独的UILabel中,以便用户看到一个计数器,该计数器在动画时提供了UIView的宽度。

任何有关如何做到这一点的帮助将受到感谢。

回答

0

观察视图的框架属性如何。所以当它改变时你会得到回调。

查看键值观察。

+0

该通知仅在动画结束时给出。我真正需要的是在画面扩大时(即在动画期间)对画面大小进行评论。 – Urizen 2010-03-23 14:57:20

0

我已经研究过这个问题,看起来它不可能在UIView动画过程中得到正在动画组件状态的更新。

0

你可以做到这一点!如果你自己制作动画,就是老式的方式。做一些像布拉德说的HERE,并将增加的变量写入你的UILabel。信贷去布拉德。