質問: 最近StoryBoardを使い始めたのですが、端末ごとにうまく画像やButtonの配置ができません。 例えば画像のようにたくさんのButtonを均等に配置する場合、Buttonのwidthとheightを先に指定してしまうため、6sや5sではうまく画面に収まった場合でも、4sでは画面からButtonがはみ出してしまいます。 今回は出来るだけコードを書かずにStoryBoardを使って実装したいと考えています。 先にwidthとheightを指定せずに画面の比率からうまくサイズを調整したいのですが、コードを書かずにAutoLayoutだけで実装することは可能でしょうか?現在Buttonのwidthとheightをviewのwidthの1/5のサイズにできないかと考えています。 もし可能な場合は、そのやり方を教えていただけないでしょうか?宜しくお願いいたします。 ![画像の説明をここに入力](https://i.stack.imgur.com/uzfCf.jpg)
回答: > > Buttonのwidthとheightをviewのwidthの1/5のサイズにできないか > > > はい、できます。 まず、View Controller上に、ビュー(ボタン、Image Viewなど)を配置し、横幅を、正確にベースViewの横幅の1/5にします。 そして、Document Outline上で、ベースViewと、配置したViewを、Commandキーを押しながら両選択します(下図)。 !画像の説明をここに入力 **Pin**をクリックして、ポップオーバーを表示し、**Equal Widths**にチェックを入れ、Add Constraintします(下図)。 !画像の説明をここに入力 つぎに、Constraintを選択して、そのSize Inspectorを表示します。**Multiplier**を0.2(5分の1)に設定します(下図)。 !画像の説明をここに入力 これで、ベースViewの横幅5分の1の、ビューの横幅を設定できます。ほかの必要なConstraintsを設定してください。 iOSシミュレータで、iPhone 4s、iPhone 6s Plusで実行したスクリーンショットです。 !画像の説明をここに入力!画像の説明をここに入力 スクリーンサイズにより、ビューのサイズが可変になっているのがわかります。