ペンギン村 Tech Blog

技術をこよなく愛するエンジニア集団が在住するペンギン村から、世界へ役立つ(かもしれない)技術情報を発信する技術系ブログです。某アラレちゃんが済む村とは一切関係ありません。んちゃ!

NavigationBarを含んだ画面でViewで全体を覆う方法

qiita.com

通信中に画面を操作させたくない理由から、マスキングを画面にすることがよくあると思います。 ただNavigationBarを含む場合、単純にself.viewにaddSubviewするだけではNavigationBarまで覆ってくれません。

f:id:kamui_project_tony:20180119010423p:plain:w200

その対処法としてappDelegate.windowに対しaddSubviewをするという手段もあるのですが、windowに直接Viewを貼り付けするのはバグの温床になるので避けた方が良いです。

記事ではself.navigationController?.viewに対しaddSubviewをすることで、対象画面でのみ処理を完結することに加え、storyboard上に部品を配置する方法で実現しています。普段の開発でstoryboardにView部品を設置している人にとっては馴染みやすい方法なのではと思い、やってみました。

f:id:kamui_project_tony:20180119010452p:plain:w200

追伸: 今日参加したAKIBA.swiftのAKIBA枠のアニメの話面白かったです(´・ω・`)