2017-01-02 5 views
0

を解く、私はiPhone SE異なるデバイス間で気づいた> iPhone 7+私は適用自動レイアウト規則に余分な空白があるように思えました。私のアプリケーションではAdpativeと流体レイアウト問題

本の最良の例では、下の画像で見ることができるように私のウェルカム画面上のイメージ図です。デバイスが大きくなるにつれて、底に向かうスペースが大きくなります。この問題を解決するために、余分なスペースに対応するためにイメージを押し下げています。私がしようとしたものを、この問題を解決するには

enter image description here

は、可能であれば以上45ptsによる画像ビューの上部にスペースを増やすが、私は不等式制約を取得するように思われる不等式制約を適用しました次のようにエラーが表示されます。私が試した

enter image description here

他の方法は、優先順位制約を追加し、あなたは下の画像で見ることができるだけでなく、不等式制約でこれを組み合わせることであるが、これはという点で私のイメージに影響を与えませんさより多くのスペースがあるより大きいデバイスでそれを押し下げる。

enter image description here

このような問題を解決し、誰も私がこの問題のより良い理解を得るのを助けるために提案することができます任意の有用なリンクやチュートリアルがあるための最良の方法は何ですか?

答えて

1

問題は、制約があいまいであるということです - あなたの一番上の制約が画像トップがトップレイアウトガイドからのオフセット以上でなければならないと言っています。これを満たす可能性のある値は無限にあります。自動レイアウトには、単一の値に解決するための制約が必要であるため、配置が必要な場所を正確に把握できます。

優先順位が同じ要素の結果を与える複数の制約がある場合に取るためにどの値を示すために使用されている - 例えばイメージのトップ値を指定する2つの制約がある場合、優先順位によって、自動レイアウトでどのレイアウトを使用するかを決めることができます。あなたのレイアウトが異なる画面の高さに適応できるようにするために

、あなたはトップの制約を削除してみて、その代わりすなわち、親ビューの「センターY」からのオフセットで画像を垂直方向に揃えることができます。何かのように:

enter image description here

それとも、ラッパーのビュー内のすべての要素を入れて、メインビューの中心部Xと中心部Yにそのビューを揃えることができ(オフセットを追加していない場合、あなたはそれを中心にしたいと仮定します)。理にかなっている、と助け

願っています!

0

私はSnapKitを使用しています。

Interface Builderは機能しますが、管理するのは非常に苦労します。バグがある場合は、クリックしてポイントしてクリックし、何が間違っているかを見つける前に何百回も指摘します。 IBの巨大な制約を作り出すのはとても簡単なので、あなたはきわめて訓練を受けなければなりません。とにかく、より多くの制御が必要なときは、とにかく制約をプログラムで変更する必要があります。

あなたの人生を難しくしないでください。 SnapKitを使用し、後ろを振り返ることはありません。無料、オープンソースなどです

関連する問題