2010-02-22 53 views
0

是否有可能更改UILabel的文本,而其超级视图是由UIView动画制作动画的?更改UILabel的超级视图动画时的文本

说我有labelView作为containerView的子视图。 timerFired在containerView被动画期间被调用(从不之前或之后)。我在动画期间调用labelView的setText,但其文本不会更改。有什么方法可以实现我的目标?

编辑:我的错 - 这工作。问题在于我的文本更新例程(投射问题)。

回答

1

你的问题是动画是如何工作的。核心动画有效地拍摄了初始状态的快照和结束状态的快照并在它们之间进行插值。这是非常高效的,但不容易让你在动画中间混淆非动画属性(如text)。有很多方法可以解决这个问题,但最简单的方法是创建两个标签,将它们制作在一起,并为它们的动画制作opacityhidden。这通常会给你一个淡入淡出的样子,我认为这是你想要的。当然,通过管理您自己的CALayers也有很多方法可以实现这一点,但两个UILabel解决方案是最简单的。

+0

我担心这可能是这种情况。我所追求的是一个分数的显示,随着它沿着一个分数条移动而增加。 – 2010-02-22 18:02:02

+0

我的错(见上面的编辑),我原本打算工作,我只是愚蠢。无论如何感谢您的深入解答。 – 2010-02-22 19:06:58