1

私のiPadアプリケーションでは、20枚のビデオアルバムの画像を一覧表示するスクロールビューがあります。20枚の画像のリストがサーバーから送信されます。
ユーザーがスクロールビューの最後に到達したら、次の10本の動画の詳細を取得するリクエストを送信する必要があります。
データを取得した後、最後にスクロールビューに追加したいと思います。でも最初に10本の動画を削除したいです。そのため、一度にスクロールビューには、常に20本のビデオの詳細しか表示されません。
ユーザーが再び最後までスクロールすると、サーバーにリクエストを送信し、次の10本の動画の詳細を取得してスクロールビューに追加し、スクロールビューから10本の最初の動画の詳細を削除します......同様に、ユーザーが最初に、前の10本のビデオをフェッチして、同じことを繰り返します。
ここでは、スクロールがスムーズでなければならず、スクロールビューでちらつきが発生しないようにします。誰かが私の要件を達成するために、より良いスクロールビューコーディングを提案できますか?

4

3 に答える 3

3

コードに含まれている場合は、コードscroll.pagingEnabled = YES;のこの部分を削除してください。きっとうまくいくでしょう。

于 2013-06-06T10:23:00.890 に答える
0

グリッドビューの形式で表示している場合は、AQGridViewを確認することをお勧めします。そのグリッドビューは、セルのキューイングとデキューイングをサポートします。これは、まさにあなたが説明したことを実行します。

デリゲートメソッドscrollViewDidScroll:を使用して、スクロールビューの一番下にいるかどうかを判断し、次のアルバムセットのダウンロードをトリガーすることもできます。

于 2012-06-06T12:37:57.463 に答える
0

ここでの本当の問題は、セルのリサイクルを設定することです。難しいことではありません。いくつかの例を見てみましょう。1つはここにあります。もちろん、そのコードにいくつかの変更を加える必要があります。コードは「ページ」に設定されます—一度に画面に表示されるのは1つだけであり、それはあなたが望んでいることではないと思います。

それはさておき...

ここで重要なのは、アイテムをスキップせずに古いアイテムを削除したり、新しいアイテムを追加したりできるようにデータソースを設計することです。

たとえば、これにアプローチする方法は、スクロールビューの「最後の」アイテムを、スクロールビューの最初のアイテムと同じようにレンダリングすることです。ユーザーが最後のアイテムに到達したら、コンテンツオフセットをアニメーションなしのスクロールビューの先頭に設定します(実際にはこれを試したことがないため、不要な衝撃がある可能性があります。テストして確認してください)。これにより、無限のスクロールのように見えます。データソースは、たとえば配列の最後に追加するのではなく、新しいアイテムを追加するときに古いインデックスを上書きするだけです。

于 2012-06-06T12:44:03.817 に答える