水平コレクションビュー
-
21-12-2019 - |
質問
コレクションビューを持っています。ユーザーがコレクションビューをスワイプしてWebサービスの応答からコレクションテーブル全体をリロードするときにWebサービスを呼び出す必要があります。これは可能であり、良いアプローチです。そしてもしそうなら、私にこれを実装する方法を教えてください。
解決
これは可能な可能性があります
はい、それは間違いなく可能です。
良いアプローチ
おそらくそうではありません。ネットワーク要求は高い待ち時間を持つことができます。これは、スワイプとユーザーが新しいデータを見る瞬間の間の遅延に終わる可能性があります。ユーザーがスワイプする前に新しいデータをロードした場合は、おそらくより良いユーザーエクスペリエンスがあるため、遅延なしで行く準備ができていることができます。
この
の実装方法
コレクションビュー。 1つの小さな答えでここをクリックする必要があるすべてを説明することは不可能であり、アップルはすでにそれについてのガイド全体を書いています。
コレクションビューがスクロールするのと同じ方向にスワイプがあることを意味するのかどうかは、質問から明らかではありません。 2つのケースを検討しましょう。
スクロールと同じ方向にスワイプします。コレクションスクロールを作成するには、ここでの作業を行う必要はありません - Collections はスクロールビューです。あなたはあなたのコレクションビューのデータソースの負荷が合理的なものと同じくらい多くのデータを負荷する必要があります。コレクションがデータが利用できないセルを要求する場合(またはデータがデータのないセルを必要としないセルを必要としている場合)、データソースはWebからのデータを要求する必要があります。サービス。
スクロール方向に直角にスワイプする:収集ビューは水平方向にスクロールし、スワイプは垂直です。ユーザーにジェスチャーを使って異なるデータセットをスワイプできるようにするときは、このような設定を使用します。ジェスチャー認識装置を使用してスワイプを検出し、ジェスチャーのアクションを使用してデータ・ソースにデータ・セットを切り替えるように指示します。次に、コレクションにセルをリロードするように指示してください。ここでは-[UICollectionView reloadData]
メソッドを使用できますが、-[UICollectionView scrollToItemAtIndexPath:atScrollPosition:animated:]
でスクロール位置を変更することもできます。