はじめに
ViewControllerから別のViewControllerを呼び出した時に、Alertのように必要部分以外を透過させて見せたい場合があります。
今回は、背景を透過させる方法についてみていきます。
環境
Xcode:9.4.1
Swift:4.1.2
プロジェクトの作成
まずは、Single View Appのプロジェクトを作成します。
次に、Storyboardを開いて、ViewControllerにButtonを貼り付けます。
次に新しいViewControllerをstoryboardに配置します。
続いて、Buttonがタップされた時に追加したViewControllerに遷移するようにセグエを追加します。
セグエの種類は、ここではpresent Modallyにします。
続いて、遷移先のViewControllerの背景色を変更します。ここではBackgroundの欄でBlackを選択することとします。
もう一度 Background を選択して「Other…」を選択します。
別ウィンドウが表示されるので、Opacityを50%にします。ここのパーセンテージは透過率ですので、好みに合わせて調整してください。
さて、これだけでは背景が透けて見えるようにはなりません。
続いて遷移先のViewControllerを選択して(①)、Presentationに「Over Current Context」を選択します。
最後に、UIViewを配置して好きな色を設定します。
実行結果
実行をしてButtonをタップすると、画面は以下のようになります。遷移元のButtonが透けて見えていることが確認できます。
コメント