2010-02-24 58 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