0

是否可以更改 UILabel 的文本,而它的超级视图正在由 UIView 动画进行动画处理?

假设我有 labelView 作为 containerView 的子视图。timerFired 在 containerView 动画期间被调用(从不在之前或之后)。我在动画期间调用 labelView 的 setText,但它的文本没有改变。有什么办法可以实现我所追求的吗?

编辑:我的错 - 这有效。问题在于我的文本更新程序(投射问题)。

4

1 回答 1

1

你的问题是动画是如何工作的。Core Animation 有效地获取初始状态的快照和结束状态的快照,并在它们之间进行插值。这是高效的,但不会轻易让您text在动画中间弄乱非动画属性(如 )。有很多方法可以解决这个问题,但最简单的方法是创建两个标签,将它们一起制作动画,然后为它们的opacityor制作动画hidden。这通常会给你一个交叉淡入淡出的外观,我认为这是你想要的。当然也有很多方法可以通过自己管理来实现CALayers,但是这两种UILabel解决方案是最简单的。

于 2010-02-22T17:57:57.457 回答