pageCurl and pageUncurl API usage in app - iphone

I know this question was asked here many times before but I am still not sure whether apple will reject the app if I used "pageCurl" and "pageUncurl" animation types.
I found some very old links mentioning their app got rejected but it was before SDK 3.2 and I also come to know that in SDK 3.2 apple allowed this animation.
I think based on research apple might not reject it but I am looking for someone who can confirm this based on facts.
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setDuration:0.45f];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
if (!curled){
animation.type = #"pageCurl";
animation.fillMode = kCAFillModeForwards;
animation.endProgress = 0.58;
} else {
animation.type = #"pageUnCurl";
animation.fillMode = kCAFillModeBackwards;
animation.startProgress = 0.42;
}
[animation setRemovedOnCompletion:NO];
[[mCurlPage layer] addAnimation:animation forKey:#"pageFlipAnimation"];
Thanks

I know this is a pretty old post, but we have actually had an app, in the Store for some months now, which uses this animation.
It seems that Apple might allow it even though it is not officially supported.

after lot of googling I have dropped the plan to use pageCurl and pageUncurl API in my iphone app since there is no app which have this API and is approved in app store. hopefully apple will enable this API in future.

Related

Paper 'Unfold' Animation on a UIView

I want to create an 'unfold' animation to a UIView that appears on the screen.
An example of the animation can be viewed in this YouTube video that reviews the SuperList app (Another example of the animation can be viewed in the app's App Store page in the screenshots section).
I have quite good understanding of Core Animation and Objective C, so as with Cocoa and Cocoa Touch. The app will support versions 5.x and 4.x of iOS so, if it is possible, I would prefer a solution that suits both cases.
Moreover, I have googled this question about a thousand times and failed to get any answers, so help will be much appreciated. Thanks ahead, iLyrical.
Apparently, the 'UnCurl' effect is built-in with the framework and is your to use!
All you have to do, is use the animateWithDuration: animation: method of the UIView class and include the animation as follows:
[UIView animateWithDuration:1.0
animations:^{
CATransition *transition = [CATransition animation];
[transition setDelegate:self];
[transition setDuration:0.7];
[transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transition setType:#"pageUnCurl"];
[self.view.layer addAnimation:transition forKey:#"pageUnCurl"];
[self.view addSubview:someView.view];
}];
The note image (white page) in this case has transparent section (all side) and thus when uncurl happens it looks like only the white part is uncurling.

How to show iris(some says shutter) in Camera while capturing image in iPhone?

I have implemented camera in iPhone and taking images and save it in PhotoAlbum.
Now what i want is when i save one image and make button enable for taking second image i want iris to be shown in between.So that it feels excatly like Camera functionality of iPhone.
How i do that please give some suggestion.
Thanks
Apps like Stachematic and Zombiematic actually got away with using this private API ...
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setDuration:0.3];
animation.timingFunction = UIViewAnimationCurveEaseInOut;
[animation setType:#"cameraIris"];
[cameraView.layer addAnimation:animation forKey:nil];

corner like in maps App

I need a corner like in the Maps app.
I tried this code but nothing happens:
- (IBAction) performCurl {
// Curl the image up or down
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setDuration:1.0f];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
[animation setType:(notCurled ? #"mapCurl" : #"mapUnCurl")];
[animation setRemovedOnCompletion:NO];
[animation setFillMode: #"extended"];
[animation setRemovedOnCompletion: NO];
notCurled = !notCurled;
[[topView layer] addAnimation:animation forKey:#"pageFlipAnimation"];
}
This my test-project: http://isolute.de/downloads/cornertest2.zip
This was made available in iOS 3.2 and later
UIModalTransitionStylePartialCurl
When the view controller is presented, one corner of the current view curls up to reveal the modal view underneath. On dismissal, the curled up page unfurls itself back on top of the modal view. A modal view presented using this transition is itself prevented from presenting any additional modal views.
This transition style is supported only if the parent view controller is presenting a full-screen view and you use the UIModalPresentationFullScreen modal presentation style. Attempting to use a different form factor for the parent view or a different presentation style triggers an exception.
Available in iOS 3.2 and later.
Declared in UIViewController.h.
See the answer to another question for one solution.
Note however that this answer uses [animation setRemovedOnCompletion: NO]. According to a forum post, apps have been rejected for using this undocumented API method.
Also, the mapCurl animation type is undocumented, and apps have been rejected for using it as well.

iPhone. CATransition fades but I want sliding

CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromBottom];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[animation setDelegate:self];
[[self layer] addAnimation:animation forKey:#"popUpAni"];
The above code (contained within an object of UIView class) fades the view in. I want it to slide in, not fade.
No matter what I try:
[animation setType:kCATransitionMoveIn];
[animation setSubtype:kCATransitionFromTop];
The result remains the same. Am I doing something wrong?
EDIT: Sorry, I had that backwards, I meant to say the curlup animation shows as a fade animation on the simulator...
I know for sure the slide animation, just as you've written it, works on the simulator and of course the device. The code in my project is practically verbatim to yours.
Try changing the key you specify in the addAnimation method from "popUpAni" to something else. If that key is used somewhere else in your project, it may be causing this issue.
Also, have you confirmed you are using the correct version of the CoreAnimation Framework? You should be referencing and the QuartzCore.framework reference should be looking within the iPhoneOS frameworks folder.

How can I switch Content Views with an water-effect transition?

In the Photos app, there is a nice water drop effect used for transition. I had seen an app a while ago that used this same water effect transition for it's content views.
Unfortunately, this transition type is not listed in the UIViewAnimationTransition documentation. But since this third party app used it (I don't remember it's name), I guess that there is a way of using it.
Does anyone know?
I think it's just a hidden CATransition type:
CATransition *transition = [CATransition animation];
transition.type = #"rippleEffect";
transition.duration = 5.0f;
transition.timingFunction = UIViewAnimationCurveEaseInOut;
[self.layer addAnimation:transition forKey:#"transitionViewAnimation"];
(Note: I haven't tried this for rippleEffect but I have used suckEffect and spewEffect similarly)
It is not part of the published SDK. If you want to sell your app in the app store, you need to implement this yourself.