CATransition animation

iOSシミュレータのスクリーンショット 2013.05.11 18.16.19
Pocket

iOSシミュレータのスクリーンショット 2013.05.11 18.16.19 iOSシミュレータのスクリーンショット 2013.05.11 18.32.24

画面がめくれる効果を実装してみた。
iPhoneのマップに実装してあるのと比較してみる。
マップのはメニューが多い分めくる量が大きいけど、なんかな〜。

コードはこんな感じ

[code language=”objc”]

上へめくる時
-(IBAction)buttonForCurlUp:(id)sender
{
CATransition *animation = [CATransition animation];
[animation setDelegate:self]; [animation setDuration:1.00];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];

animation.type = @"pageCurl";
animation.fillMode = kCAFillModeForwards;
animation.endProgress = 0.50;
[animation setRemovedOnCompletion:NO];
[[self view] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
[[[self view] layer] addAnimation:animation forKey:@"pageCurlAnimation"];
}

元に戻す時
-(IBAction)buttonForCurlDown:(id)sender
{
CATransition *animation = [CATransition animation];
[animation setDelegate:self]; [animation setDuration:1.00];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];

animation.type = @"pageUnCurl";
animation.fillMode = kCAFillModeBackwards;
animation.startProgress = 0.50;
[animation setRemovedOnCompletion:NO];
[[self view] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
[[[self view] layer] addAnimation:animation forKey:@"pageCurlAnimation"];
}
[/code]

Leave a Reply