gpt4 book ai didi

objective-c - 如何替换出现的 CALayer 的自定义动画

转载 作者:行者123 更新时间:2023-12-03 18:05:57 25 4
gpt4 key购买 nike

我有一个 CALayer,我想更改它出现在屏幕上的自定义动画。我创建了一个委托(delegate),以便我可以捕获该方法:

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

我检查键是否等于 kCAOnOrderIn,但是,该层尚未被告知其边界是什么(它当前报告边界为 (0, 0, 0, 0))。所以然后我尝试检查键是否等于“边界”,但我仍然得到相同的报告(0,0,0,0)。

我想要做的动画不是图层通过不透明度逐渐“不褪色”到屏幕上,而是希望它从小到大在屏幕上生长到整个边界。但要做到这一点,我需要知道它的完整界限是什么。是否有办法知道这一点,以便我可以替换自定义动画,或者我只是以错误的方式处理这个问题?

谢谢

最佳答案

我知道这已经是 3 个月前的事了,但我一直在寻找类似问题的答案,并注意到这没有答案(我需要一些代表;)

我正在 UIView (iPhone SDK) 上覆盖 actionForLayer:forKey: ,该 UIView 自动设置为其支持 CALayer 的委托(delegate),以便为 anchor 注入(inject)不同的操作。我注意到我可以通过 CALayer 的presentationLayer 访问旧值,而新值位于modelLayer 中。但我认为在您的情况下发生的情况是,在您告诉图层它的边界之前,系统正在调用 onOrderIn 操作(可能在图层添加到 View 层次结构时)。其实这很正常。

除了“onOrderIn”键之外,您还应该等待“bounds”。

您在等待其他 key 吗? “onOrderOut”还是“隐藏”?

干杯,科林

关于objective-c - 如何替换出现的 CALayer 的自定义动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com