2017-10-23 6 views
1

私はチャットアプリケーションで作業しています。最初は100メッセージだけを取得し、ユーザーがメッセージをスクロールして最初のメッセージに来ると、次の100メッセージを取得してデータをリロードします。コンテンツのオフセットを設定してスクロール位置を維持していますが、この場合はスクロールが停止し、スクロール時にユーザーがぎこちなく感じます。どのようにスクロール速度を維持するため、ユーザーがテーブルがリロードされたかどうかを知ることはできません。uitableViewCellを挿入中にスクロールを維持します

答えて

0

あなたは一番下に到着する前にそれをする必要があります。デリゲートメソッドfunc tableView(UITableView, willDisplay: UITableViewCell, forRowAt: IndexPath)を使用して、セルの数を70%(多かれ少なかれ、試してみる必要があります)にいるかどうかを確認できます。次に、次のデータのロードを開始します。あなたが現在ロード中であることをマークすることを忘れないでください。そうしないと、ロードコールが無限に終了します。

+0

私もそれをやったが、スクロールが止まり、ユーザーはスクロールをするのが気になる。コンテンツオフセットを明示的に設定しているために、 –

+0

遅延が発生する可能性があります。それを取り除くと、Igorがhttps://stackoverflow.com/questions/37614934/uitableview-scrolls-to-top-on-reloadに示唆していることを試すことができます。スクロール位置はリロード後もそのまま維持されます。 – Luzo

関連する問題