Objective-Cのみで4種類の画面遷移アニメーションを実行する方法

Objective-Cのみで画面遷移をアニメーション付きで実行するサンプルを以下に作成しました。

サンプルダウンロード

必要な手順

1. ヘッダファイルに遷移先 ViewControllerのヘッダインポート

1
#import "HogeViewController.h"

2. 次に ViewControllerのインスタンス生成

1
UIViewController *hogeViewController = [[HogeViewController alloc] init];

3. アニメーション方式の指定

下からせり上がってくるアニメーション指定

1
hogeViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

横方向にひっくり返るアニメーション指定

1
hogeViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

下から捲れるアニメーション指定

1
hogeViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;

フェードイン・フェードアウトしながら切り替わるアニメーション指定

1
hogeViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

4. 画面遷移アニメーション実行

1
[self presentViewController:hogeViewController animated:YES completion:nil];

前の画面へ戻る

1
[self dismissViewControllerAnimated:YES completion:nil];

ソースコード

アニメーション付きで画面遷移実行 (RootViewController.m)

1
2
3
4
5
6
7
8
//ViewControllerのインスタンス生成
UIViewController *secondViewController = [[SecondViewController alloc] init];

//画面遷移アニメーションの指定
secondViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

//画面遷移実行
[self presentViewController:secondViewController animated:YES completion:nil];

前の画面へ戻る (SecondViewController.m)

1
2
//前の画面へ戻る
[self dismissViewControllerAnimated:YES completion:nil];

関連記事

お薦めの参考書

本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応
iOSアプリ開発をこれから始める方に最もお薦めな一冊です。解り辛い点は図解入りで解説されており、プログラミングの動作の仕組みから詳しく知ることができます。基本から通信処理まで押さえられており、アプリ公開の手順についても解説されています。

   このエントリーをはてなブックマークに追加

About

Masaki Hirokawa (@dolice_apps)

デザインエンジニア 廣川政樹の開発ブログ。Objective-Cや Javaなど iPhone/Androidアプリ開発に関する技術情報を掲載しています。

iPhone apps

  • リラックス・ヒーリング(無料)
  • 望みが叶う!引き寄せの法則アプリ(無料)
  • ミステリー - 怖い話や不思議な体験、都市伝説まとめ
  • 浮世絵壁紙 - 美しい日本画ギャラリー(無料)
  • アート壁紙HD(無料)
  • 綺麗な壁紙HD iPhone 7/7 Plus/SE & iPod対応(無料)
  • クールな壁紙HD iPhone 7/7 Plus/SE & iPod対応(無料)

Android apps

  • 浮世絵壁紙 - 美しい日本画ギャラリー
  • 綺麗な高画質壁紙

Objective-C Classes

Tag Cloud

ActionScript(9) ActionScript3(7) Ad(4) Adfurikun(2) AdMob(9) Android(10) Animation(17) AppDelegate(3) ARC(1) ArrayList(1) AVAudioPlayer(4) AVAudioSession(1) AVFoundation(3) Banner(2) Bitmap(1) Camera(4) CGAffineTransform(4) CGBlendMode(2) CGContextRef(1) CGImageRef(1) Classes(44) CLLocationManager(1) ConnectivityManager(1) ContentResolver(1) CoreLocation(2) Delegate(3) Device(7) Display(1) DisplayMetrics(1) Download(101) Facebook(6) Foundation(72) Framework(2) Google Analytics(1) Handler(1) iAd(6) ImageView(1) In-AppPurchase(1) iOS(12) iOS 7(15) iOS 7.1(3) iOS 8(1) iPad(7) iPhone(21) iPhone 6(4) Java(7) JavaScript(2) LINE(4) Localize(1) Magazine(1) MediaStore(1) MFComposeViewController(1) Nend(1) NetworkInfo(1) NSArray(23) NSCalendar(3) NSData(2) NSDate(7) NSDateComponents(2) NSDateFormatter(2) NSDictionary(12) NSEnumerator(1) NSIndexSet(1) NSInteger(6) NSMutableArray(17) NSMutableDictionary(5) NSMutableOrderedSet(7) NSMutableString(4) NSMutableURLRequest(1) NSNotificationCenter(1) NSNumber(1) NSObject(1) NSOrderedSet(7) NSRange(2) NSSelectorFromString(1) NSSet(6) NSString(19) NSTimer(4) NSTimeZone(1) NSURL(7) NSURLConnection(1) NSURLRequest(2) NSUserDefaults(7) NSXMLParser(2) Objective-C(222) PHP(1) Products(14) QuartzCore(3) RSS(2) Runnable(1) Sample(51) Screensaver(9) SDK(2) ShareCompat(1) Social(10) StoreKit(1) Twitter(6) UIAccelerometer(3) UIActionSheet(1) UIActivityIndicator(1) UIActivityIndicatorView(3) UIActivityViewController(1) UIAlertView(5) UIApplication(7) UIButton(4) UIColor(3) UIDatePicker(5) UIDevice(6) UIDeviceOrientation(1) UIEvent(6) UIImage(15) UIImagePickerController(4) UIImageView(12) UIKit(58) UILabel(7) UINavigationBar(4) UINavigationItem(1) UIPasteboard(4) UIScreen(1) UIScrollBar(1) UIScrollView(1) UISlider(3) UIStoryboardSegue(3) UISwitch(1) UITabBar(3) UITableView(4) UITextField(2) UIView(11) UIViewAnimationTransition(1) UIViewController(4) UIWebView(5) WindowManager(1) Xcode(48) Xcode 5(8) Xcode 5.1(2)