0

すべての行に2つのサムネイル(壁紙)がある1つの長いスクロール可能なビューが必要です。

すべてのサムネイルには、写真を共有およびダウンロードするためのボタンもあり、サムネイルをクリックすると、フルサイズの壁紙が表示されます。そこで、サムネイルと2つのボタンを含むカスタムビュー(200x200)を作成し、サーバー上にある壁紙の数に応じてそれらを動的にスクロールビューに追加することを考えていました。

このようなもの:

NSUInteger i;
int xCoord=0;
int yCoord=0;
int thumbnailWidth=200;
int thumbnailHeight=200;
int buffer = 10;
for (i = 1; i <= [items count]; i++)
{
    UIView *aView = [[ThumbnailView alloc] initWithThumnailAtIndex: i ];
    aView.frame     = CGRectMake(xCoord, yCoord, thumbnailWidth, thumbnailHeight );
    [scrollView addSubview:aView];

    xCoord += thumbnailWidth + buffer;
    yCoord += thumbnailHeight + buffer;
}
[scrollView setContentSize:CGSizeMake(700, yCoord)];

それがこれを行うための良い方法だと思いますか?また、scrollviewにサムネイルがたくさんある場合、サムネイルの遅延読み込みをどのように処理しますか?

4

3 に答える 3

1

カスタム UITableViewCell 実装で UITableView を使用することをお勧めします。テーブルビューはセルのリサイクルを自動的に処理するため、パフォーマンスについてそれほど心配する必要はありません。

ビューの初期化中にすべてのアセットを事前にロードしてから、それらをテーブルビューのデータソースで使用するだけです。

于 2012-12-04T18:08:11.180 に答える
1

ここにいる他の全員が言っているように、UITableView を使用してください。カスタム UITableViewCell サブクラスを使用する必要があることを追加します。クラスを作成し、ストーリーボードを使用して、プロトタイプ セルを含むテーブル ビュー シーンを作成します。プロトタイプ セルのクラスをセル サブクラスに設定します。イメージビュー、ラベル、ボタンなど、ナンセンスなものをストーリーボードのプロトタイプ セルにいくつでも追加し、IBOutlets を使用してそれらをカスタム クラスに接続します。セルに何かを表示するときは、必要なすべての情報を含むオブジェクトまたは辞書をカスタム セル サブクラスに渡し、アウトレットを介してさまざまなビューに入力します。ここにチュートリアルがあります: http://www.techotopia.com/index.php/Using_Xcode_Storyboards_to_Build_Dynamic_TableViews_with_Prototype_Table_View_Cells

于 2012-12-04T19:18:05.053 に答える
1

私は UITableView を使用し、各セルには両方の画像が含まれます。この答えを見てください。

画像の読み込みについては、EGOImageLoader を使用してみてください。非常にシンプルで効果的です。これがGithubプロジェクトです。

于 2012-12-04T18:13:21.083 に答える