0

プロトタイプを作成UITableViewCellし、セルの画像パスとラベル テキストを含む文字列を含む辞書を作成しました。アプリの大きな画像ビューと同じ画像サイズを に使用していますが、一部の画像はかなり大きいです.300w x 800h と 300 kb サイズのようにUITableViewCellUIImageViewしたがって、各セルは合計で約 500 kb のコンテンツをロードしています。そのため、アプリを実行すると、最初に UITableView を下にスクロールすると (セルが作成されたとき)、スクロールに遅延が発生します。

このまま放置すると、App Store の審査に通るのでしょうか、それとも却下される可能性はありますか? 事例を聞いたことがありますか?

UITableViewCell の小さな画像をいくつか作成できることはわかっています。UIImageViewでは、 (古い iPhone とRetina) に適したピクセルの寸法は何ですか? (または、最大 kb の読み込み制限はありUITableViewCellますか?)

44ポイントと88ポイントを言う場合、調査によると、これはそれ自体のデフォルトの高さであり、 寸法やkb制限とは関係ありません..UITableViewCell UIImageView

最後に: 遅延を回避する他の (Apple が承認した方法) はありますか? スクロールが始まる前にセルを作成するようなものですか?

4

1 に答える 1

1

LazyLoadingを使用してみてください。画像がサーバーからのものである場合。それがラグ(遅延)の主な問題であり、セルが再利用されるため、スクロールするたびに毎回画像が読み込まれます。

また、画像が非常に大きいとおっしゃっていたので、画像を小さいサイズに変換してみてください。画像のサイズは、44 や 88 などに事前定義されていません。セルの高さに応じてサイズを設定できます。

編集 クリストファーが言ったように、画像はサーバーからではなく、彼のメインバンドルからのものであると言っcellForRowAtIndexPath

static NSString *CellIdentifier = @"Cell";

NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%d%d",indexPath.row,indexPath.section];

それが機能するかどうかはあまりわかりません。ただし、セルの再利用が停止するため、セルはセルに既に読み込まれている画像をリロードしません。

于 2012-08-17T12:47:58.053 に答える