Swift3 – あらゆるViewの中心を取るためにはどうすればいい

UIView、UIImage、UIBUtton、なんでも良いのですけれど、これらの要素の真ん中(Center)を取得するためにはどうすればいいのかな?と考えてみました。まず、UIviewcontrollerのスーパービュー(UIView)の真ん中を取得するためには、そもそもUIviewcontrollerのスーパービュー(UIView)のサイズ(横幅と高さ)を求める必要がありますよね。つまり、ViewController(デバイス)のサイズを取得するってことです。

let bounds = UIScreen.main.bounds
        let width = bounds.size.width
        let height = bounds.size.height

        print(width)
        print(height)

上記のような形で求めることができます。シミュレーターで実行してみればわかりますが、デバイスの種類ごとに横幅と高さが変動するはずです。これで、スパービューのサイズが求められました。今取得したスーパービューの真ん中を取りたければ、横幅と高さを二で割ってあげればいいす。つまり、

 

 

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

ホーム