使用转换CIFilters进行CATransition

我正在尝试使用新的iOS 6过渡animation(CIBarsSwipeTransition,CICopyMachineTransition等)的CATransitionfilter属性。 CIFilter文档说这些文件在iOS 6上可用,而CATransition文档中没有提到filter属性不能使用。

但是,我似乎无法让他们工作。 我不知道苹果是否没有提到这个function的不可用性,或者我错过了一些东西来使它工作。 以下是我如何设置它:

 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]; 

任何指针赞赏。

我不确定这是可能的在iOS上。 来自CATransition文档:

如果指定,filter必须同时支持kCIInputImageKeykCIInputTargetImageKeyinput键以及kCIOutputImageKey输出键。

从CIFilter文档 (常量部分)(重点是我的)

kCIInputTargetImageKey

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

filter存在, inputTargetImage是input键之一,但即使您自己创build核心图像数据并将其分配给属性(在debugging器中正确显示),您仍然不会得到该效果。

在OS X上创build相同的效果与问题中的代码一样简单。 我已经提出这个雷达(13281399)。

我知道这个问题是相当古老的,但我通过以下链接得到了我的工作

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

在“使用过渡效果”一节中查看它在iOS上的11个步骤