【Swift】アプリのUIButtonを画面の最前面に表示する方法

今回は、UIView の重なりについてです。
アプリで Floating Action Button をページの右下に表示しているのですが、スワイプビューを追加したらその下に隠れてしまったので、その対処方法をまとめます。

今回参考にさせていただいた記事はこちら。

[iOS]UIViewの重なり順を変更する方法 – Studio K’s
https://www.studioks.net/jp-iosviewbackorfront/

 

対処方法と言ってもそこまで難しくなく、最前面に表示したい UIView を下記のように指定するだけです。

self.view.bringSubviewToFront([最前面には位置したいUIView])

上記を追加することで、指定したボタンなどの UIView を最前面に配置することができます。
ちなみに、参考サイトでは bringSubView(toFront: [UIView]) という表記になっていましたが、Xcode の自動補完によると bringSubviewToFront([UIView]) が正しい書き方のようなので、ご注意ください。
まあ、間違っていても Xcode が指摘してくれますので、それに従えばOKです。

なお、これとは逆に最背面に UIView を配置したい場合は、sendSubviewToBack を使います。
サンプルコードは下記の通りです。

self.view.sendSubviewToBack([UIView])

私は今回、ボタンを最前面に送るようにしましたが、それとは逆にスワイプビューを最背面に送るという方法を採用しても良さそうでしたね。
この辺りに関しては、お好みで大丈夫だと思います。

 

以上、Swift で特定の UIView を最前面に配置する方法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG