我有一個關於CATransform3D的問題。CATransform3D旋轉,標籤爲子視圖
我有一個視圖A,它包含一個標籤B. B的圖層位置是A的中心。B用於顯示通知消息。我想旋轉180度,當然B中的文字會顛倒。所以我也必須將B旋轉180度。一切似乎很簡單,實際上在模擬器中它工作正常。
但是當我加載到設備上時,A和B確實旋轉了,但B的位置發生了變化。現在我只能看到B的一半,另一半不在A中。
我的猜測是,當旋轉A時,因爲B與A的座標系相關,翻轉180度,所以B的位置發生了變化。
但我想知道是否有人有想法如何解決這個問題,或者如果你們有更好的方法來處理。
非常感謝。
UPDATE
我仍然無法弄清楚,爲什麼B的位置被移動,但我想出了實現相同動畫的另一種方法。有點棘手。
關鍵是animation.autoreverse
,我們知道當您通過Pi旋轉標籤的超級視圖時,標籤中的文本將被上下顛倒。所以我做的是通過Pi/2旋轉超級視圖,保持相同的持續時間並設置autoreverse = YES
,它將做的是它將旋轉超級視圖Pi/2,然後將其旋轉回初始狀態。結果證明視圖不會被旋轉,但是對於用戶的視覺而言,它是旋轉的。
我同意你的意見。但我想找到一種方法讓他們工作。我會更新這個線程,如果我得到任何東西。謝謝你的幫助。 – Jason 2012-04-20 05:12:52
聽起來不錯。 iOS中的動畫很棘手,但是當你做對時,它確實很整潔。 – CodaFi 2012-04-20 05:20:53