これはプログラマチックに行いません。これを達成するために私にストーリーボードの方法を教えてください。ナビゲーションバーとタブバーの間のスペースの高さが50%のサブビュー
私は、ナビゲーションバー&タブバーの間のスペースの半分のサイズのにオランウータンビューを望みます。私はそのrectの半分が欲しい。
これはプログラマチックに行いません。これを達成するために私にストーリーボードの方法を教えてください。ナビゲーションバーとタブバーの間のスペースの高さが50%のサブビュー
私は、ナビゲーションバー&タブバーの間のスペースの半分のサイズのにオランウータンビューを望みます。私はそのrectの半分が欲しい。
私が考えることのできるアプローチにはいくつかの方法があります。
使用コンテナビュー
最初は、コンテナとして動作するようにsuperView
にUIView
を追加することです。このコンテナビューは、ナビゲーションバーの下部とタブバーの上部に「固定」できます。
この容器にオレンジ色の図を追加します。拘束条件を上、左、右に固定します。その後、コンテナと0.5の乗数と同じ高さを与えることができ、それはナビゲーションバーとタブバーの間の高さの半分になります。
は、他の方法は、スペーサビューを使用することです
「スペーサー」ビューを使用します。オレンジ色のビューを追加し、その下に別のビューを追加します。それらをそれぞれナビゲーションバーとタブバーに固定し、それらの間に垂直間隔を0に設定します。
ここで、それらの高さを同じにします。
これにより、両方がナビゲーションバーとタブバーの間のスペースの半分を占めるようになります。
"スペーサービュー"を非表示にします。非表示になりますが、制約は引き続き有効です。
いずれも、デバイスのサイズや向きに関係なく動作します。また、エッジケースのためsatnavガイダンスや着信コールはナビゲーションバーなどの高さを...変更した場合のように
非常に簡単ですが、次の制約を追加してください。
ビューをスーパービューに固定する左右の制約。
ナビゲーションバーをオフセットするために定数64でスーパービューするための上部制約固定ビュー。
スーパービューと同じ高さの制約。この制約の乗数を0.5に変更し、定数を-54(ナビゲーションバーの64ptの半分+ステータスバーと44ptタブバーの半分)に変更し、フレームを更新します。
ジョブが完了しました。 :)
いや、スーパーは、画面の一番下に、画面の上から行きます。ナビゲーションバーの下部からタブバーの上部までではありません。 – Fogmeister
タブバーコントローラ、ナビゲーションコントローラ、または手動タブバーとナビゲーションバーを使用していますか? –
OPのスクリーンショットに行くと、私はそう言っています。だから、これが最初の問題です。 – Fogmeister
@Frgmeister私は1番目の方法を使用しましたが、問題が発生しています。あなたにスクリーンショットを見せたいのですが、どうすればいいのですか? –
フレームを更新しましたが、完成しましたが、シミュレータとデバイスで予期したとおりにプレビューが実行されていますが、プレビューに間違ったプレースメントが表示されるのはなぜですか。また、警告は表示されません。 –