【Swift/iOS】画面遷移時のアニメーション指定方法

モーダル表示タイプの一般的な画面遷移での画面表示アニメーションの指定方法を解説します。
SegueのPresent Modallyを使った画面遷移、あるいはSegueを使わずにpresentメソッドで行った画面遷移がこれに該当します。

各々の画面遷移方法については下記の記事で解説していますので、必要な方は御覧ください。

【Swift/iOS】Segueを使った画面遷移
Segueとは、storyboard上で画面遷移を表す部品です。この記事では、Segueを使った2種類の画面遷移方法を解説します。ノンコーディングでお手軽に遷移するAction Segueコード上の任意のタイミングで画面遷移させるM...
【Swift/iOS】Segueを使わない画面遷移
(2019/04/07 更新)Segueを使わないで画面遷移をする方法を解説します。異なるstoryboard上にあるViewControllerに遷移するなどの場合はSegueが使えませんので、必然的にこちらの方法を使う事になります。...
スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Xcode】Version 10.1
【Swift】Version 4.2.1
【iOS】12.1.4

画面遷移アニメーション指定の概要

基本的に遷移先ViewControllerのプロパティ(modalTransitionStyle)を設定する事で、画面遷移時のアニメーションを指定します。
遷移元に戻るときも同じアニメーションが採用されます。

指定できるアニメーションは次の4種類です。

Transition Style アニメーション
coverVertical 下から上がってくる動作(デフォルト)
flipHorizontal パネルが横にくるっと回転する動作
crossDissolve 一旦暗くなって、現れる動作
partialCurl 紙のページが下からめくれ上がる動作

Storyboardでの設定方法

ViewControllerのプロパティを直接変更する方法と、Segueのプロパティで指定する2通りの方法があります。

ViewControllerのプロパティで指定

遷移先ViewControllerのプロパティ(Transition Style)で指定します。

図01:ViewControllerのプロパティで指定

Segueのプロパティで指定

Segueを使った画面遷移では、Segueのプロパティ(Transition)で指定する事が可能です。
但し、Transitionが選択できるのは、KindをPresent Modallyにした場合のみです。

図02:Segueのプロパティで指定

TransitionにDefaultを指定すると、ViewControllerのプロパティに設定されているアニメーションが採用されます。
Default以外を指定した場合は、Segueで指定したアニメーションが採用されます。

コードでの設定方法

presentメソッドを呼ぶ前に、ViewControllerのプロパティ(modalTransitionStyle)にTransition Styleを設定します。

コメント