iOS13にすると、iOS12までの全画面モーダル表示ではなく元の画面の上に重なるようなUIに変更されました😙
アプリ開発をしてこのモーダル表示をどうにか出来ないかと思い自分の備忘録も兼ねて投稿😎
方法
viewという変数にはモーダルで表示したいViewが入っているものとします。
今回3パターン(実質2パターン)用意してみました!
(1)これまでのモーダル表示にする(フル画面)
画面を表示させる前(present)にこのコードを書けばこれまでのモーダル表示になります🥳
view.modalPresentationStyle = .fullScreen
(2)iOS13からのモーダル表示かつ上から引っ張っても元の画面に戻らないようにする
(1)同様に画面を表示させる前にこのコードを書けば幸せになります🥰
開発しているアプリがiOS13以上ならこの方法もありだと思います😉
view.isModalInPresentation = true
(3)1と2を組み合わせた方法
例えば開発しているアプリがiOS12からだけど、ユーザーがiOS13にした時には(2)の機能を使いたい!って時にオススメです🤩
if文の #available()って何!?って思った方はこちらの記事が良く分かると思います!
iOSのバージョン判定をする方法
if #available(iOS 13.0, *) {
// iOS13以上の場合
view.isModalInPresentation = true
} else {
// iOS12以前の場合
view.modalPresentationStyle = .fullScreen
}
最後に
初めてQiitaに投稿してみました!
自分自身Qiitaの多くの記事に助けられながらアプリ開発を行っています。そんなQiitaに自分も記事を投稿して少しでも誰かの悩みの種を無くしていければな!と思っています。未熟者ですがよろしくお願いします。
今回の記事の内容で違っていたりこう治した方が良いなどコメントで下さい!