2010-02-22 48 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