2011-02-22 7 views
0

グリッド形式で画像を表示するために使用するUITableViewがあります。 1行につき4画像。テーブルビューがスクロールしたときにオーバーレイ画像が非表示になる

私が今問題にしているのは、画像が選択されたときに表示する必要があるオーバーレイです。 (画像参照)。オーバーレイが削除されるか、またはテーブルビューがスクロールダウンすると画像が非表示になります。イメージは選択されていますが、オーバーレイは表示されません。

イメージが範囲外にスクロールされたときに、オーバーレイイメージを削除することからテーブルビューを停止する方法を教えてください。イメージオーバーレイにバックビューの外に画像をスクロールした後

enter image description here

がなくなっているが、画像がまだ選択されています。

enter image description here

答えて

1

あなたがスクロールすると、「getcellを」方法は(それゆえ、なぜあなたは選択を「負け」している)すべてのセルを再描画している、と呼ばれているからです。

イメージを選択するときは、そのイメージとセルへの参照を保持する必要があります。 GetCellメソッドでは、描画するセルに選択したイメージが含まれているかどうかを確認することができます。選択されている場合は、イメージが選択されていることを確認します。

+0

または、「選択された」ロジックを別のアレイに移動するだけで済みます。次にテーブルビューのセルを生成するときに、その配列を調べて、選択マークを表示する必要があるかどうかを判断します。 –

+0

詳細の悪魔。私は売りを再描画してオーバーレイを無視する方法があるのか​​どうか疑問に思っていましたが、理にかなっていません。ええ、それを追跡する必要があります。 – jarryd

+1

セルを描画しないようにすると、表示されていないセルはスクロールしても描画されません。 – Luke

関連する問題