[Tips]背景を透過させて遷移元のViewを見せるには?

はじめに

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が透けて見えていることが確認できます。

 

 

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください