iphone - 将核心动画与 CALayers 以外的对象一起使用

标签 iphone objective-c cocoa cocoa-touch core-animation

我很确定我在网上看到过有关此问题的讨论,但现在我似乎找不到任何内容。问题很简单:有没有一种方法可以使用例如 CABasicAnimation 来为非“CALayer”对象上的属性设置动画? (例如“AVAudioPlayer”上的“volume”属性。)

如果没有,除了子类化“CALayer”之外,还有其他方法可以使其工作吗?也许需要遵守一些协议(protocol)?

编辑:在 iPhone 操作系统上执行此操作怎么样?

最佳答案

你确实可以做到这一点。您的对象必须实现 NSAnimatablePropertyContainer协议(protocol)并为您想要在 +defaultAnimationForKey: 类方法中设置动画的每个属性返回一个有效的 CAAnimation 对象。

要回答您更新的问题,不,您目前无法在 iPhone 上执行此操作,因为 iPhone 操作系统中没有可用的 NSAnimatablePropertyContainer 协议(protocol),并且您无法获取 animator 来自其他对象的代理对象。

关于iphone - 将核心动画与 CALayers 以外的对象一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353249/

相关文章:

ios - 使用 UITextField 自定义自动 UIScrollView 滚动

ios - AVAudioPlayer.currentTime 在更改速率时给出错误的值

objective-c - 单击时显示 NSTokenField token 中的 NSPopover

objective-c - 如何使大纲 View 中的文本单元格显示父行有多少个子行?

swift - 快速隐藏 NSTextField 吗?

iphone - 如何为 iOS 应用程序创建自定义错误域?

iphone - iPad Storyboard无法正常工作

iphone - 在 Xcode 4.2 中使用 GPX 路线或轨道进行测试

objective-c - QTKit奇怪的错误

cocoa - 引用自的框架错误 : ".objc_class_name_XXX",