質問: はじめてアプリ開発をしています。 iPad、iPhoneなど、どの端末から見ても崩れないアプリを作りたいです。 画面としては入力フォームのようなものを作っています。 困っていることは、 1)例えばTextfieldを上記のように、いろんなサイズの端末に対応させる際に設定する項目がわからない 2)Scroll Viewなど、いつどのViewを入れ子にするかわからない(1を解決しようとしたら、Stack Viewを使うといいとか、Scroll Viewと使うといいとかでてきたので) という2点です。 特に1に関して困っていて、調べていくうちにAutolayoutを使うということはわかりました。 Equal Width+Multiplierで相対的な横幅にしたものの、サイズが小さいと画面が切れてしまいます。 また、位置もAlignment ConstraintsでHolizontally in Containerを設定しておりますが、ずれてしまいます。 文字サイズは固定になります。 例えば画面にtextfieldを1つ表示するとして、どの端末でもレイアウトを保つにはどういう設定をしたらいいのでしょうか。上記だと不足がありますか。 ご教授いただけると幸いです。 (追記) 現状のViewと制約についてです。 現状のViewの構成は Scroll View >Label1 >StackView >TextField1 >TextField2 という形になっており、ついている制約は Scroll View : Align Center X to superview, Align Center Y to superview, Proportional Width to Label1 Label1 : Proportial width to Superview StackView : Align Center X to Superview 具体的な困りごとは ・TextFieldが中央に来ず、左によってしまう ・サイズを小さくした時に文字が表示しきれないのか、部品がつぶれてしまう というところです。
回答: テキストフィールドの開始位置をどのデバイスでも共通としたいという内容であれば、以下の画像のような制約を入ればできませんか? ※画像の設定だと、端末の横幅に応じてテキストフィールドの横幅は動的に変わります。(左側と右側に10pxの余白が空いたレイアウト) !イメージ説明 テキストフィールドの横幅を端末の横幅の○%とかにしたいなら以下の画像のような制約になるかなと。 !イメージ説明