質問: Swiftのパーツ配置が上手くいきません。 オレンジのボタンと青のボタンのサイズと位置を、それぞれの端末の画面サイズに応じて配置したいです。 iPadではボタンのサイズも位置も問題ないです。 一方iPhoneではボタンのサイズが大きく、位置も重なってしまっています。 画面のサイズや比率に応じて、ボタンのサイズや位置を調節するにはどうしたらいいのでしょうか。 それともiPadやiPhoneなど画面サイズや比率が大きく異なる場合、それぞれに合うサイズでパーツをつくり、それぞれ別の配置設定をするのが一般的なのでしょうか。 自分で調べて色々と試してみましたがなかなか上手くいきません。 分かる方がいたら教えていただきたいです。 現在の設定は、それぞれ下と横を15に設定しているだけです。 パーツはButtonにimageをセットしています。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/6a102530cd630a2b71c118014ab412c6.png) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/6d88ca813b58d0388903e7ce99fea8f9.png)
回答: それはStoryboardで配置し、端から○○pix等の数字でconstraints(制約)を設定しているからです。 Storyboardでもおそらく設定できますが、自分はコードで規定する方が好きです。 コードの場合は、 その機器のself.view.bounds.size.heightやwidthで全体の画面サイズを取得し、 比率で場所および画像のサイズを調整するようにコードを作成するのをお勧めします。 コード、比率の適用方法は下記を参照いただければと思います。 https://i-app-tec.com/ios/uiimageview_resize.html また、UIButtonはUIViewに属するので、UIImageViewをボタン内にaddsubviewすればいいそうです。 https://stackoverflow.com/questions/40514110/how-to-resize-an-image-inside-an-uibutton