2011-07-25 22 views
0

私の- (void)setObject:(id)objectメソッドでは、時々、オブジェクトに応じて0..10 UIImageViewをセルに動的に追加しています。問題は、私のprepareForReuseのセルからこれらのUIImageViewを削除する方法です。セルを320で再利用

私は、それぞれのUIImageViewを-1から-10にタグ付けして、次にprepareForReuseでそれが存在するかどうかをチェックします。もしそれが削除されたら、次のものを確認します。これより簡単な方法はありますか?

答えて

0

それぞれのセルに、独自のサブクラスで表示したいすべての画像ビューのスポットが含まれるようにする必要があります。サブクラスにprepareForReuseを実装するときは、すべてを非表示に設定し、setObject呼び出しでは、非表示にする必要があるものを決定します。

+0

を試してみてください、しかし、これはAPIからのデータを引っ張っているので、これは10以上になる可能性があります。 – adit

+0

をどれだけ期待するか分からなかったかもしれません。「独自のサブクラスで表示したいすべての画像ビュー」が何を意味するか分かります。私にとってもっと意味がある – adit

+0

イメージビューはセルのサブクラスに含まれています。ここでは2つのオプションしかありません:1)スクロール(SLOW)で必要に応じてimageViewsを作成するか、セル内のimageViewを事前に作成し、スクロール(FAST、USES MORE MEMORY)で表示/非表示のみします。私は代わりに、単一のセル内の10以上のイメージアイテムが悪いUIであるため、デザイン変更を探します – coneybeare

0

..私は私はそれが0..10だ私のポストで言っ知っている問題は、私が持っていますどのように多くのImageViewの事前に知っていない、数がランダムであるということである。この

- (void)prepareForReuse { 
    [super prepareForReuse]; 
    [_photoImage unsetImage]; 
} 
関連する問題