2017-02-27 31 views
2

私のUITableViewは下にスクロールせず、すべてのコンテンツが表示される前に停止します(最後の数行は切り捨てられます)。私は自分のUITableViewが画面のサイズと等しいが、コンテンツのサイズが画面とテーブルの高さよりも大きいことを確認しました。なぜこれが起こっているのか分かりません。UITableViewは下にスクロールしません(Swift IOS)

答えて

2

ほとんどの場合、小さなiPhoneデバイスで発生します。なぜなら、あなたはテーブルビューの下限制約を正しく設定していないからです。その制約をチェックしてください。もしそれが存在しなければ、それを加えてください。

4

1)画面下部にUITabBarがありますか?このコンテンツはバーでカバーすることができます。そうであれば、あなたのストーリーボードに行き、UITableViewを入れてUnder Bottom Barsブール値のチェックを外しておいてUIViewControllerに行ってください。

enter image description here

2)あなたは負にある下部のNSLayoutConstraintセットを持っているかもしれません。あなたのUITableViewが画面の最下部まで広がっていることを意味します。そうなら、UITableViewのボトム拘束を0.0にリセットします。あなたはUITableViewスクロール方法を使用しようとする場合があります

enter image description here

3)。最後のセルのインデックスを取得します:

[yourTableView scrollToRowAtIndexPath:lastCellIndex 
       atScrollPosition:UITableViewScrollPositionTop 
         animated:YES]; 

4)UITableViewUIScrollViewからサブクラス化されます。したがって、あなたはそのように扱うことができます。

UITableViewで、これまでのセルが同じ高さを持っている場合、あなたはあなたのデータソース倍セルの高さのオブジェクトの数を複数ことができ、その後、あなたがcontentOffsetとしてあなたUIScrollView/TableView方法に入ることをどのような値を知っている:

(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated 
+0

グレート答え@BrandonAを使用している場合

高さを調整するためにテーブルビューのデリゲートメソッド(heightForRowAtIndexPath)を使用しないでください。素晴らしいコードスニペットですべてのベースをカバーしました。 –

+1

@AshleyMillsあなたはとても親切です。私は単純なプログラマーです。 Reachability for Swiftのような涼しいものは何もしなかった。しかし、とにかく。 –

1

では、自動寸法を設定する必要があるかもしれませ: -

あなたは正しい制約にスーパーにあなたのtableViewを固定することができますし、すべてのラベルの制約(先頭、末尾を固定、カスタムテーブルビューのセルを使用している場合は、上端と下端)をセルにドラッグし、ViewControllあなたの制約が、あなたのテーブルビューのセルのコンテンツのサイズを動的コンテンツに依存してサイズが変更されます正しいたら

tableView.rowHeight = UITableViewAutomaticDimension 
tableView.estimatedRowHeight = 44.0 

- :えーviewDidLoad方法は、以下のコードを記述します。

注: - あなたはUITableViewAutomaticDimension

関連する問題