2010-02-24 60 views
0

我有,我想更改自定義動畫,它出現在屏幕上的CALayer。我創建了一個委託,這樣我可以趕上方法:如何更換一個CALayer的自定義動畫出現

- (id <CAAction>)actionForLayer:(CALayer *)layer forKey:(NSString *)key 

我檢查的關鍵等於kCAOnOrderIn,然而,該層沒有被告知它的邊界會,但(它目前報告(0,0,0,0)爲界限)。所以然後我試着檢查鍵是否等於「界限」,但我仍然報告相同的矩形(0,0,0,0)。

我想要做的動畫,而不是逐步層「永不褪色」到通過不透明的屏幕,我希望它從小和中間它的全範圍發展到屏幕上。但要做到這一點,我需要知道它的全部範圍。無論如何要知道,以便我可以替換自定義動畫,或者我只是簡單地接近這個錯誤的方式嗎?

感謝

回答

1

我知道這是3個月大,但我一直在尋找的答案類似的問題,注意,這並不有一個答案(一個我想要一些代表;)

我改寫actionForLayer:forKey:在一個UIView(iPhone SDK),以它支持的CALayer爲了注入了anchorPoint不同的動作被自動設置爲代表。我注意到我可以通過CALayer的presentationLayer訪問舊值,新值位於modelLayer中。但我覺得你的情況正在發生的事情是,該系統是呼籲onOrderIn動作(或許在該層添加到視圖層次結構的時間),你告訴它的界限層之前。事實上,這是正常的。

你應該除了「onOrderIn」鍵等待「界限」。

你是在等其他鍵? 「onOrderOut」還是「隱藏」?

乾杯, 科林

+0

天哪,是的,這是前一陣子。不要把這個標記爲答案,直到我用我當時試圖做的任何事情來測試它。我必須回覆你。 – DonnaLea 2010-06-07 00:26:24