2017-04-26 12 views
-1

2つのラベルがあり、iphone 6 plusの間に112の垂直スペーシングがあるViewコントローラがあるとします。すべてのタイプのデバイスのこの間隔を縦横比で保持したい場合、適切な方法は何ですか? 現在、私は2つのアプローチのうちの1つに従っています。デバイスごとに左、右、上、下の制約を計算する適切な方法は何ですか?

1.スタックビューのアプローチ:このアプローチでは

私は

取っています。スタックビュー

b。その2つのラベルをそのスタックビューに入れます

c。ストーリーボードから間隔を設定します。

d。この間隔にデバイスのアスペクト比を掛けます。

乗算(私の場合112で)垂直間隔だけアプローチ1.

しかし、何のようなデバイスのアスペクト比を有する:この

#define SCREEN_RATIO_RESPECT_OF_IPHONE_6P (SCREEN_MAX_LENGTH/736.0) 

2.通常の制約アプローチのように実際にはこのタイプの問題を処理するためのよりよい方法ですか?

答えて

0

デバイス間で視覚的に一貫した表示を維持するために、私は通常、デザイン仕様を相対サイズまたはパーセンテージベースのサイズに変換します。

たとえば、画面の下部に、画面の下端と側端から24pxのスペースがあると思われるボタンがあるとします。私はデザインを見て、24pxを画面の幅のパーセンテージ(デザイン内)で割り出します。これは、すべてのデバイスでスペーシング/パディングが一貫していることを意味します。

フォントに関して、私は通常デザインごとにフォントサイズを設定しますが、可能であればUILabelsのようにadjustsFontSizeToFitWidthminimumScaleFactorのようにサイズを小さくすることを可能にします。

希望します。

+0

これは、パーセンテージについて述べたとおり、手順2に従っています。 –

+0

はい、本当に良い解決法はありません。たとえば24pxの間隔は、iPhone 5ではiPhone 7+と比べて非常に異なって見えます – Scriptable

関連する問題