2016-04-08 16 views
1

私は電卓アプリケーションで作業していますが、すべてのコードは完全に実行されますが、唯一の問題はレイアウトです。すべての電話機でレイアウトが完璧に動作し、制約が完璧なようです! iPhone 4を除いて、それは十分に高いとは思われません!それは私が取り組んだ最初の本当のプロジェクトであり、このようなことによって中止されたのを見るためには非常にイライラしています。SwiftのXCodeでの電卓レイアウトの難易度

ボタンは高さが5で幅が4で、すべてが正方形です。その上に値ラベルをつけた320x50のAdMob広告があります。 5,6,6の場合は十分なスペースがあり、すべてが完璧に見えますが、4秒をシミュレートすると、広告からボタンまでの距離が大幅に短縮されるため、値ラベルは見えません。これらのスクリーンショットから私が何を意味するのかを見ることができます。

はここで働いてレイアウトです:

enter image description here

そして、ここでは問題4Sです:

enter image description here

誰もが解決のための任意のアイデアを持っていますか?

+0

私はそれが普通だと言います。 iPhone 4は、5または6よりも短い(特に、高さ/幅の比)。適切に見えるように、iPhone 4のボタンレイアウトを変更する必要があるかもしれません。幸いにも、あなたはIBの中でそれを直接行うことができます。 –

答えて

0

私はどのような制約を使用しているのかわかりませんが、iPhone 5+で動作する場合は、正しいことをしているようです。 : -/

私は私のアプリの中でやっていることはあるようなもの:

valueLabel.Top == ad.Bottom、彼らは常にお互いに触れていると私はそれらの両方のための高さや幅を設定していないので、 、彼らは彼らが望むどんな高さにでもなることができます。それ以外は..私は知らない。

1

ボタンの設定方法がわからないので、具体的な回答はできません。

しかし、一般的には、明示的に(すなわちwindow.height < 500)(1)ショートスクリーンを検出するいずれか

により、短い画面サイズを克服し、必要な高さの制約を変更することができます。これはハックのように見えますが、iPhone 4/4Sだけが例外であるため、しばしばすばらしく機能します。

または

(2)そのスーパーに比例した高さの制約はなく、固定された数を設定します。これは、背の高い画面上に非常に背の高い要素をもたらす可能性があり、より少なくても等しいか等しい制約と優先順位で緩和することができます。

電卓のUIを行う場合、ボタンの5行がスーパービューの1/5の高さになるように制約を設定します.4等幅の制約、1つの上の間隔1つのボトム間隔制約。次に、すべてのボタンを含むビューのアウトレットを作成し、(1)または(2)のいずれかに従います。

+0

私は基本的には、すべての幅と高さが等しくなるように各水平行を設定してから、左の列全体がすべて同じ幅/高さになります(0ボタンを除く)。制約に「乗数」オプションが関係していますか? –

+0

@JacksonWrightはい、乗数オプションが必要です。フォーマットは0.xでなければなりません – noobsmcgoobs