はじめに
こんにちは!Ayumuです。私はこれまでプッシュ遷移、モーダル遷移をどのように使い分けるべきか分からず、遷移の目的を意識せずに使っていました。(私の場合はモーダル遷移を一切使わずプッシュ遷移だけを行なっていました...)
今回はそれぞれの遷移方法の扱いについて共有させて頂きます。
間違いがありましたら指摘して頂けると幸いです。
プッシュ遷移
プッシュ遷移は、ある目的までの移動手段に用います。
ここではiPhoneの設定画面を具体例に説明します。
この写真はiPhoneの壁紙を変更している図です。
この図のシーンにおいての目的は壁紙を変更することです。壁紙を変更することができるページに行くまでの移動手段としてプッシュ遷移が用いられています。
注意しておきたい点として、あくまでプッシュ遷移はスタート地点から目的地点までの移動であり、ある地点で前のページに戻ったからといって、そこで行われた行動が取れ消されるというわけではありません。
モーダル遷移

ここでモーダル遷移の出番です。
プッシュ遷移はあくまで目的を果たすことができるページにまで移動しただけであり、そこから何か新たなアクションを起こす場合には新たに分岐して別画面に移動してあげる必要があります。
写真の場合、壁紙を変更できるページでユーザーが写真を選択し、壁紙を変更するという決定を行う際にモーダルが表示されています。(写真左から2番目)
ユーザーの決定が済んだあとは再び移動地点に戻る必要があります。(写真左から3番目)
結論
プッシュ遷移でタスクを進行
モーダル遷移でタスクを補完するために分岐
最後に
拙い文章で申し訳ありません。
https://qiita.com/usagimaru/items/9b55daa4d88b0bb98f38
こちらの記事を見て遷移の違いを知り、自分自身でも共有したいと思い記事を投稿させて頂きました。とても分かりやすかったので是非ご覧ください!