使用转换CIFilters进行CATransition
我正在尝试使用新的iOS 6过渡animation(CIBarsSwipeTransition,CICopyMachineTransition等)的CATransition
的filter
属性。 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必须同时支持
kCIInputImageKey
和kCIInputTargetImageKey
input键以及kCIOutputImageKey
输出键。
从CIFilter文档 (常量部分)(重点是我的)
kCIInputTargetImageKey
CIImage对象的一个键,它是转换的目标映像。 在OS X v10.5及更高版本中可用。 不适用于iOS 。
filter存在, inputTargetImage
是input键之一,但即使您自己创build核心图像数据并将其分配给属性(在debugging器中正确显示),您仍然不会得到该效果。
在OS X上创build相同的效果与问题中的代码一样简单。 我已经提出这个雷达(13281399)。
我知道这个问题是相当古老的,但我通过以下链接得到了我的工作
在“使用过渡效果”一节中查看它在iOS上的11个步骤