2017-11-29 14 views
0

4つのボタンを水平方向と垂直方向にセンタリングしたいと考えています。
各ボタンは後で背景画像を取得するはずなので、アスペクト比はそれほど変わらないことが重要だと思う。そうでなければ画像がボタンに収まらない。4つのボタンをどのように水平および垂直にセンタリングできますか?

それがどのように見えるかのスクリーンショット:すべてのボタンが同じサイズを持ち、利用可能な限り多くのスペース(小さなマージン、10pxのか、そうではなく、可能であればそれ以上)取るべきで enter image description here

。私は、アプリケーションがすべてのデバイス(iPhone 5SとiPad 10.5" )によさそうだという制約を設定する方法がわからない。
アプリケーションは、必ずしも全ての方位モードで実行してはならない。

私が設定する必要がありますどのように?制約

+0

4つのボタンを、見えないスーパービューに適切な制約を入れてスーパービューを中央に配置しますか? – matt

+0

@mattしかし、どのような制約をスーパービューに適用する必要がありますか?センターXとYだけでは不十分です。 –

+0

正しい。あなたは、主なビューの側面にその先頭と後ろを結びつけ、そしてその高さをその幅に結びつけたいでしょう。それを単独で手配することによって練習してください:オートレイアウトを使って最大中心の正方形を作ることを学んでください。次に、どのように進めるかが明らかになります。 (実際には、その時点でUIStackViewの設定を使うことができます) – matt

答えて

1

この問題は簡単にそのスーパーを中心に最大の正方形を作るの問題に帰着することができますが、わずか4制約で簡単にそれを行うことができます。

enter image description here

残り - グリッド。ボタンの - ちょうどに落ちるあなたのラップ。たとえば、私の青いビューに2つのUIStackViewを含むUIStackViewを表示させ、あなたのグリッドを表示します。あるいは、あなた自身の明示的な制約でそれを行うことができます。

このアプリケーションを回転できる場合は、幅が高さよりも小さい場合と高さが幅よりも小さい場合の2つの制約が必要になる場合があります。コード内でスワップする必要があります。しかしそれは別の問題であり、難しくありません。

+0

大変ありがとうございます。私は問題を解決しました;-)うまく動作します! –

1

は、彼らがhorisontally配布、アライメントやUIStackViewの他の特性とそれをカスタマイズすることができ軸プロパティのhorisontal値を使用して配置するため、UIStackViewにそれらを追加します。 これは最も簡単な方法です

関連する問題