2016-04-13 11 views
0

セルの高さが(UITableViewAutomaticDimensionを使用して)変更される原因となるtableViewのreloadDataを試してみると、奇妙なオーバーラップが発生しています。コンテンツが上にあるセルと重なってしまい、 :上記の細胞のジャンプの下からビューをリロードした後 enter image description here enter image description hereiOS UITableViewCell overlapping

::/前

enter image description here

彼らは基本的に同じセルですが、トップセルにはView height = 0があり、データがありません。そして、一番下のセルがフルスクリーン(一番上のセルは見えません)の場合にのみ発生し、時間単位のセルが表示されていれば、このバグは表示されません。

+0

'automaticallyAdjustsScrollViewInsets'と何か関係がありますか(http://stackoverflow.com/a/19585104/1305067参照) – paulvs

+0

これは何の関係もないと思います。テーブルビューオーバーラップのナビゲーションバー私の問題はメカニズムを再利用している可能性が高いですが、何がわかりません – Tj3n

答えて

1

これはおそらく同じセル識別子を設定するため、再利用する前にセルをリフレッシュしますか?

- (void)prepareForReuse { } 

テーブルビューのセルクラスでこのメソッドを実装します。これがあなたに役立つことを願っています。

+0

この機能で何をすべきですか? – Tj3n

+0

セルには、データに基づいてUIを制御するいくつかのロジックが搭載されています。動作は異なります。しかし、同じ識別子を使用するため、再利用可能なセルはリサイクルアレイから取得しても、古い状態を維持します。それを使用する前に "prepareForResuse"を呼び出すと、それをリフレッシュする必要があります。 – HDT

+0

私はViewControllerの内部でtableViewを使用していますが、このメソッドは存在しないようです:/ ... tableViewcontrollerからですか? – Tj3n

関連する問題