iOS | UINavigationControllerの画面遷移アニメーションをページカール(ページめくり)にする

2013-07-29

①TARGET→Build Phases→Link Binary With Librariesの「+」ボタンを押して「QuartzCore.framework」をインポートする。
②遷移元の○○ViewController.hにQuartzCoreをインポートする。
③StoryBoardで遷移用のボタンを配置し、Action設定をする。(例:tapNextButton)
④StoryBoard上で「遷移元の」ViewControllerの「StoryBoard ID」を設定しておく。(Class名と同じで良い:◎◎◎ViewControllerなど)←右側のIdentity Inspectorにて
⑤遷移元の○○ViewController.mで画面遷移の設定をする。

○○ViewController.h
[objc]
#import <QuartzCore/QuartzCore.h>
[/objc]
○○ViewController.m
[objc]
– (IBAction)tapNextButton:(id)sender
{
CATransition *transition = [CATransition animation];
transition.duration = 0.8;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
// ページめくり
transition.type = @"pageCurl";
// 右から
transition.subtype = kCATransitionFromRight;

// NavigationController のアニメーションを変更する
[self.navigationController.view.layer addAnimation:transition forKey:nil];

 ◎◎◎ViewController *viewContoller = [self.storyboard instantiateViewControllerWithIdentifier:@"◎◎◎ViewController"];
[self.navigationController pushViewController:viewContoller animated:NO];
}
[/objc]

Copyright(c) 2015 AndByYOU INC. All Rights Reserved.