macOSアプリで同じウィンドウ内で画面遷移させる

macOSアプリで、iOSでいうUINavigationControllerのpush/popのように、同じウィンドウ内で画面遷移させたい。その他要件:

・リスト/詳細のように1画面だけの遷移ではなく、インストールウィザードのように何画面も遷移していく必要がある
・遷移アニメーションをカスタマイズする必要もある

ちなみにUINavigationControllerっぽいものは標準では存在しないらしい。

標準Segue

macOSプロジェクトでも、iOSと同じようにIBでボタンからView Controllerに向かってSegueを生やすことができる。Segueを選択してAttribute Inspectorをみると"kind"という欄があり、modal以外にshowとかの選択肢もある。それぞれどういう挙動になるか試してみた。

・show・・・別ウィンドウが開く
・modal・・・別ウィンドウが開く(中心から拡大するアニメーション)
・Popover・・・ボタンに対して吹き出しとして開く
・Sheet・・・上からニュッと出てくる

どれもやりたいのと違う・・・

(本記事は定期購読マガジン内の記事です。単品売りもしてますがざっと書いたメモなのでご注意ください)

ここから先は

1,910字

¥ 100

最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/