我正在尝试将CATransition的filter属性用于新的iOS 6过渡动画(CIBarsSwipeTransition、CICopyMachineTransition等)。CIFilter documentation显示这些动画在iOS 6上可用,而CATransition documentation上没有任何内容显示filter属性不能使用。
但是,我似乎不能让它们工作。我不知道是苹果没有提到功能的不可用,还是我只是遗漏了一些让它工作的东西。下面是我如何设置它的:
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];感谢任何人的指点。
发布于 2013-02-24 23:02:31
我不确定这在iOS上是否可行。从CATransition文档中:
如果指定,则筛选器必须同时支持
kCIInputImageKey和kCIInputTargetImageKey输入键以及kCIOutputImageKey输出键。
来自CIFilter documentation (常量部分)(强调我的)
kCIInputTargetImageKey
作为过渡目标图像的CIImage对象的键。在OS X v10.5及更高版本中可用。在iOS中不可用。
过滤器存在,inputTargetImage是输入键之一,但即使您自己创建核心图像数据并将其分配给属性(在调试器中正确显示),您仍然无法获得效果。
在OS上创建同样的效果就像你问题中的代码一样简单。我已经将此作为雷达(13281399)进行了归档。
发布于 2012-11-17 01:17:00
我知道这个问题很老了,但我是通过这个链接找到我的问题的。
检查“使用过渡效果”一节中的11个步骤,它也适用于iOS
https://stackoverflow.com/questions/13329179
复制相似问题