1

UIScrollViewを使用して、iPadで一度に1つずつ表示しようとしている「スライド」がたくさんあります。「スライド」は、UIViewControllerクラスのさまざまなサブクラスです。

NSUserDefaultsNSDictionaries で表されるにスライドを保存しています。起動時に、NSDictionaries の NSArray をロードしてそれらをループし、ビューを UIScrollView に渡します。

現在、これは非効率的です。画面外であっても、すべてのスライドがメモリに保持されているからです。スライドを再利用し、画面外にあるときにスライドを解放し、画面に表示されるときにスライドを再作成するという点で、もう少し UITableViewController のように動作させる必要があると思います。

2 つの質問があります。

  • まず、UITableViewController はセルの交換をどのように処理しますか? サンプル コードやアルゴリズムはどこにありますか?

  • 第二に、スライドがすべて同じタイプではない場合、どうすればスライドを再利用できますか?

4

1 に答える 1

1

ここに循環UIScrollviewに関する回答を書きました:

循環UIScrollViewを実装するには?

そのアプローチを使用する場合、いつでも 3 つのビューのみをロードする必要があります。

ビューがすべて同じタイプではない場合は、できるだけ多くの共通性を UIView サブクラスに実装し、表示前に必要なカスタマイズ (画像の設定など) を実行する必要があります。作成できるのは 3 つだけです。スクロールに向かってスクロールしているものが表示され始め、スクロールして遠ざかっているものが表示されるように変更されます...

ABC

3 つのビュー - A と C は表示されず、B は表示されます。

B の一部を右にスクロールすると、C の一部が表示されます。A は再利用でき、論理的に移動して C を追跡できるため、次のようになります。

BCA

右にスクロールし続け、B を変更し、論理的に A の後にします

タクシー

逆にスクロールする場合は同じ考えですが、逆にします。

于 2010-12-08T03:12:28.847 に答える