2017-03-20 13 views
6

私は、下に共有した参考画像で見られるように、白色の4つのサブビュー&を黄色に作成しました。コードから位置を取得している他のビューの下にどのように配置するか

enter image description here

そして私はプログラム的にあなたが(それがシミュレータで実行されている)画像の下で見ることができるようにちょうどナビゲーションバーに以下の下から上にタブバーの位置を変更しました。今

enter image description here

私は従う

enter image description here

ように、それはナビゲーションバーにちょうど下の画像ではその黄色のビューの制約を表示されているが、私はそれだけで下に表示させたいので、 Tabbar。

Tabbarはその位置をプログラム的に取得しているので、他のビュー(黄色の図を含む)がストーリーボードから取得しています。 そして、ストーリーボードのUIエレメントは、プログラムから来ている、あるいは少なくともプログラムからその位置を取得している他のUIエレメントの前に決着されているからです。

私が望むものを達成するための最良の方法は何でしょうか。

さらに理解を深めるために私のストーリーボードを参照してください。 (下の画像を参照してください) enter image description here

また、画面下のタブバー&の間のスペースに5つのサブビューを合わせたいと思っています。私はそのスペースの1/5thを計算したい&この高さを各サブビューに割り当てます。私は後でそれらを分けるためにピクセルを減らすだろう。

+0

あなたのビューコントローラはどれですか?私はUIViewControllerまたはUITableViewControllerまたはUICollectionViewControllerを意味しますか? –

+0

黄色ビューと4つの白いビューがコンテナビューに存在しますか? collectionViewやstackViewなど? –

+0

@AhmadFいいえ他のビューではありません。 –

答えて

3

タブバーの高さを黄色のビューの一番上の位置に追加してみませんか?こうすることで、あなたのような制約何か設定したい:タブバーが常に表示されている場合

Fajar.top = top + 44 

を、それが動作するはずです。タブバーが表示されるのはもちろんですが、変更に応じてプログラマチックにその制約を変更する必要があります。

+1

なぜそれをハードコードしたいのですか? –

+1

わからない場合は、すぐに答えを入れないでください。質問にコメントしてください。 –

+2

2番目の文章で言いましたように、「タブバーが表示されるのは時々、変更に応じてプログラマチックにその制約を変更する必要があります。 レイアウト制約のIBOutletを取得し、必要に応じて変更する必要があります。ハードコーディングは簡単な方法ですが、必要に応じて制約の定数値を動的に変更することができます。私はあなたが何をしているのかわからないので、コードを提供できません... – Fahim

関連する問題