0

UIImageViewsを含むUIViewsをリサイクルしています。したがって、これらの1つを再利用する場合、最初に行う必要があるのは、表示されていた古い画像をクリアすることです。これを機能させることができないようです。私の現在のコードは次のとおりです。

[self.imageView removeFromSuperview];
self.imageView = nil;

そして、私は再割り当て/初期化UIImageViewUIImage行っています。これはうまくいかないようです。古い画像が表示され、その上に新しい画像が表示されます。古い画像を消去するには、他に何をする必要がありますか?

ありがとう。

4

2 に答える 2

2

UIImageViewの割り当てを解除すると、ビューを再構築するだけなので、ビューをリサイクルすることによる多くのメリットが失われます。

UIViewをリサイクルするときは、UIImageViewのimageプロパティをnilにしてください。そうすると、UIViewがリサイクルされた状態のときにUIImageが保持されなくなります。そうしても意味がありません。

UIViewをリサイクルから引き出して再利用する場合、画像はクリアされているはずであり、UIImageViewの画像プロパティを新しい画像データでリセットできます。その時点で新しい画像が表示されます。

于 2012-05-14T18:39:29.843 に答える
0

のプレゼンテーションモデルはおそらく汚れていますUIViewCALayer試す:

[self setNeedsDisplay]; //force refresh
于 2012-04-25T14:27:39.580 に答える