2017-03-28 11 views
0

私のアプリケーションのためのFeedViewControllerを構築しています。特定の条件の要素間の間隔を処理します。

この画面は、ユーザーの投稿を表示するtableView(またはcollectionView)で構成されています。投稿には常にコンテンツがあり、画像には含まれていてもいなくてもかまいません。

表示するイメージがない場合、どのようにしてテーブルの表示セルの高さを扱い、各アイテム間の間隔が同じであることを保証するのが最善の方法でしょうか?

を私はテーブルビューセルのサブクラスを作成し、私はいくつかの制約を追加内側:私が試した何

。私のFeedViewControllerのcellForRowAtIndexPathメソッド内で、postImageView.imageがnilかどうかをチェックし、それに応じてpostイメージの高さ制約を更新するif文を追加しました。問題は、下のスクリーンショットで見られるように、画像のあるセルと画像のないセルまでの間隔が少し異なります。私は、要素間の間隔が正確に同じであることを望みます。画像がポストに付いているかどうかは問題ではありません。

どうしたら問題を解決できますか?あなたの助けのための

おかげで、

screenshot

J.

答えて

0

あなたが自動レイアウトを使用する場合は、uがBUTTONLABELに下部と上部制約を与える必要があります。または、自動サイズ調整を使用する場合、ボタンラベルの位置を修正する必要があります。 @ jellyfish6

+0

ありがとうございます。私は実際にAutoLayoutで制約を使用していますが、自動的に制約を作成しないように(translatesAutoresizingMaskIntoConstraints = false)、私のビューに下限と上限の制約があります。 – jellyfish6

0

私はあなたがBottomConstraintに "Bottom Label"を与えたと思うので、それは別の間隔を持つ理由です。 私は、下限制約に上限制約またはその両方を指定し、優先度でそれを管理するのではないかと推測します。

+0

ご返信ありがとうございます@GowthamNamuri!さらに詳しく説明し、「優先」で制約を管理する方法を教えてください。 – jellyfish6

+0

ボタンの上の制約より下の制約の優先度を低くします。基本的には1000が最優先されます。競合が発生するたびに、優先度が最も高い制約が適用されます。そうでない場合は、制約のIBOutletを使用して、それに応じて定数を変更することができます。 –

+0

私は制約の優先順位について知りませんでしたし、文書でそれをチェックアウトしました、それは多くの意味があります!私の例にこのコンセプトを適用する方法の例を私に教えてください。それは私の多くを助けるだろう! – jellyfish6

関連する問題