2017-07-04 7 views
0

storyBoard私は、ビュー内のテーブルビューに対して、トップ、ボトム、リーディングおよびトレーリングの制約を与えました。 私はcontentSize.heightとしてtableviewの高さを与えました。テーブルビューの高さに応じて、テーブルビュー3または4などで表示できるセルはありません(コンテンツサイズによって異なります)。しかし、問題は、コンテンツサイズごとにテーブルビューの高さが増加していることです。 より多くのセルがない場合は、テーブルビューの実際の高さをコンテンツサイズと比較し、contentSizeがtableviewより小さい場合は実際の高さだけ変更する必要があります。コンテンツサイズ>実際の高さ、次に固定高さ、コンテンツサイズ<実際の高さの場合は、tableview swift 3の動的?

if tableViewActualHeight > contentSize { 
// then only change tableview height 
    tableViewActualHeight = contentSize 
} 

&どのようにコードを配置できますか?

+0

あなたの質問ではありません理解して問題が発生したのに役立ちます場合は私に知らせてください明らかです。正確に達成したいことは何ですか? – Lion

+0

セルがない場合はテーブルビューの高さを制限する必要があります –

+0

さらに何を意味しますか?幾つ ?テーブルビューに固定された高さを与えてください! – Lion

答えて

0

テーブルビューにもう1つの制約(Fixed height)を設定する必要があります。

ここで、そのコンセントのコンセントを取り(または接続して)、コンセントのconstantをコンディションに従って設定します。コンテンツのサイズが、何もしない、あなたのテーブルビュー、次に大きい場合は、他の設定あなたの高さの制約の定数などのコンテンツサイズのような、あなたのテーブルビューが正常にリロードした後、他の賢明それは正しいコンテンツのサイズを与えないことを行う必要があり

heightConstraint.constant = 20 // Your contentsize instead of 20 

セルまたは行の高さが固定されている場合、セルフコンテンツの高さをカウントできます。行の高さに行数(配列数)を掛けることができます!ここでOK

1

はその

enter image description here

まずyourTableView.frame.size.heightでテーブルビューの高さを得るためのアイデアです。 tableViewセルの高さを計算します。 ケースを想定します。あなたは2セルを持っている場合は、高さ200

最初のケースは

、その後、総セルの高さが100今すぐチェックされている場合

と仮定すると、セルは、高さ50とテーブルビューであるのtableViewの100 bottomConstraint場合200になります - 100、それはのtableViewの高さが100

後者の場合

なり、ここ100.Soです

あなたは5個の細胞を持っている場合は250 bottomConstraintはZERO

になる場合は、総セルの高さが250 .Nowチェックですそのは、あなたや

関連する問題