[Xcode]UILabelやUIImageViewをどのデバイスでも画面の真ん中に配置する方法
Storyboard上でUILabelやUIimageViewを真ん中に配置したはずなのにデバイスサイズが変わると真ん中から位置がずれてしまう・・・という時の対処方法を紹介します。
デバイスのサイズが違えば真ん中の位置が微妙にずれてくる
Xcodeでは様々なデバイス(iPhone4やX)のシミューレータを使うことができますが、デバイスが変われば真ん中に置いたUILabelやUIImageViewの位置がずれてきます。
iPhone4sでは真ん中に表示されても・・・
デバイスが違えば、位置が微妙にずれてくる・・・
こうした場合の対処方法としてAutoLayoutというものがあります。
これを使うことでデバイスサイズが変わっても、画面が横向きになっても位置を固定したまま表示させることができます。
AutoLayoutを使ってラベルをどのデバイスでも真ん中に配置する
上記のような問題はAutoLayoutを利用することで簡単に解決できます。
画面右下のアイコンをクリックして画像のようにチェックを入れてAdd contrainsを押すだけでOK。
Horizontally in Containerは縦軸で、Vertically in Containerは横軸となります。
例えば、真ん中より少し下に表示したいという場合は、Horizontallyの値を変えることで配置できます。
横向きにしてもLabelは真ん中に表示されます。
まとめ
いかがでしたでしょうか?今回、UILabelやUIImageViewをどのデバイスでも画面の真ん中に配置する方法を紹介しました。
今回はLabelを使って説明しましたが、UIImageViewでも同じになります。
デバイスサイズによって配置が崩れるという時は、AutoLayoutを活用してみてください。
関連記事:[Xcode]UIViewが画面の大きさによってずれてしまう時の対処法