お世話になっております。
前回の質問の続きという形で今回は質問させていただきます。
###開発環境
Xcode8.3
Swift3.0
###実現したいこと
iPhone5からiPhone7Plusに至るまで、
画面サイズの異なる全てのデバイスにおいてUIの拡縮を設定し、同様の画面を表示できるようにしたい。
###行ったこと
スクリーンショットを添付します。
(一度画面全体のスクリーンショットを撮った後、不要部分を切り取ったためやや小さく表示されています、申し訳ありません。)
※製作途中故、アプリのタイトルやレイアウト等への口出しはご遠慮願います。
上の画像は、こちらを参考にし、「健康電卓」、「あなたのデータから〜」の2つのラベルに、「Aspect Ratio」と「Equal Width」を追加し、Multiplierを各LabelのWidthに合わせて設定してみた後でのプレビュー画面での画像です。
左がiPhone7、右がiPhoneSEでのプレビューになります。
私の中では、「UIとViewとの間にMultiplierを追加、設定すれば画面のサイズに応じてUIが拡縮する」という認識だったのですが、プレビューを見た感じだと両方とも同じサイズのままに見えます。
フォントサイズはコードで変更するしかないようなので、画面サイズに応じてLabelが縮小しているのなら、iPhoneSEの場合Textが一部表示されていない状態になるかと思いました。
※Labelの大きさが変わっていないように見えたので、作業途中ながら質問させていただきました。誤解を招く書き方で申し訳ありませんでした。
ちなみに、Width、Heightを固定する制約はつけておりません。
※書き忘れていたので追記
画面左端、右端との制約もつけていないので、その影響でサイズが固定されているということもないと思われます。
###疑問点
私のやり方、もしくは認識が違うだけで上記の方法で私の実現したいこと(画面サイズ毎にUIを拡縮させる)は完成できるのでしょうか?
それとも、そもそもこの方法では実現不可能なことでしょうか?
ちゃんと表示されてるんだからいいじゃんと思うかもしれませんが、使用しているUIの量的に現状のまま設定すると、かなりきつくなってしまう画面が他にあるので改善できるならばしたいと思っております。
宜しくお願い致します。
###追記
「健康電卓」のラベルについている制約について追記します。
priorityの値は全て1000、Constantは全て「=」となっています。
Multiplierの値は画像のアスペクト比を指定している「75:8 Ratio to: 健康電卓」の部分が75:8、
proportional Width to: Superviewの部分が0.8です。
「親Viewから見た長方形のViewの比率にする」(上記サイトより引用)
ということで、親ViewのWidthが375で、LabelのWidthが300だったため300/375 = 0.8となりました。
###追記2
回答を受けての画像です(上のスクリーンショットとデバイスの位置が逆になったり他のUIが崩れてますがご容赦を)
回答1件
あなたの回答
tips
プレビュー