7

我正在尝试将CATransition'filter属性与新的 iOS 6 过渡动画(CIBarsSwipeTransition、CICopyMachineTransition 等)一起使用。CIFilter文档说这些在 iOS 6 上可用,并且文档中没有任何内容CATransitionfilter属性不能使用。

但是,我似乎无法让他们工作。我不知道 Apple 是否只是没有提及该功能的不可用,或者我只是缺少一些使它起作用的东西。这是我的设置方式:

CIFilter *transitionFilter = [CIFilter filterWithName:@"CIBarsSwipeTransition"];
[transitionFilter setDefaults];

CATransition *transition = [CATransition new];
transition.duration = 0.4f;
transition.filter = transitionFilter;

[self.view.layer addAnimation:transition forKey:kCATransition];

任何指针表示赞赏。

4

2 回答 2

4

我知道这个问题已经很老了,但我通过这个链接开始工作了

https://developer.apple.com/library/mac/#documentation/graphicsimaging/conceptual/CoreImaging/ci_tasks/ci_tasks.html

检查“使用过渡效果”部分中的 11 个步骤,它也适用于 iOS

于 2012-11-16T17:16:59.853 回答
3

我不确定在 iOS 上是否可行。从 CATransition 文档:

如果指定,过滤器必须同时支持输入键和kCIInputImageKey输出键。kCIInputTargetImageKeykCIOutputImageKey

来自CIFilter 文档(常量部分)(强调我的)

kCIInputTargetImageKey

CIImage 对象的键,它是转换的目标图像。在 OS X v10.5 及更高版本中可用。在 iOS 中不可用

过滤器存在,并且inputTargetImage是输入键之一,但即使您自己创建核心图像数据并将其分配给属性(在调试器中正确显示),您仍然无法获得效果。

在 OS X 上创建相同的效果就像您问题中的代码一样简单。我已将此作为雷达 (13281399) 归档。

于 2013-02-24T15:02:30.750 回答