John Estropia
John Estropia

Reputation: 17500

Using transition CIFilters for CATransition

I'm trying to use CATransition's filter property with the new iOS 6 transition animations (CIBarsSwipeTransition, CICopyMachineTransition, etc.). The CIFilter documentation says that these are available on iOS 6, and nothing on the CATransition documentation says that the filter property cannot be used.

But, I can't seem to get them to work. I don't know if Apple just failed to mention the inavailability of the functionality or I'm just missing something to make it work. Here's how I set it up:

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

Any pointers are appreciated.

Upvotes: 7

Views: 3604

Answers (2)

Hosam
Hosam

Reputation: 101

I know that question is quite old but I got mine working by following that link

https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_tasks/ci_tasks.html

Check the 11 steps in the section "Using Transition Effects" it works on iOS as well

Upvotes: 4

jrturton
jrturton

Reputation: 119242

I'm not sure it is possible on iOS. From the CATransition documentation:

If specified, the filter must support both kCIInputImageKey and kCIInputTargetImageKey input keys, and the kCIOutputImageKey output key.

From the CIFilter documentation (constants section) (emphasis mine)

kCIInputTargetImageKey

A key for a CIImage object that is the target image for a transition. Available in OS X v10.5 and later. Not available in iOS.

The filter exists, and inputTargetImage is one of the input keys, but even if you create the core image data yourself and assign it to the properties (which displays properly in the debugger) then you still don't get the effect.

Creating the same effect on OS X is as simple as the code in your question. I have filed this as a radar (13281399).

Upvotes: 3

Related Questions