2009-03-25 12 views
3

条件の結果によっては、テーブルセルにUIImageViewを表示したいとします。そうでなければ、UITableViewCellAccessoryCheckmarkを表示します。私はIBで細胞を構築したいと思います。私はそれを表示したくないときUIImageViewで何をすべきか分からない部分です。プログラムですべてを構築していたら、必要に応じてUIImageViewを追加します。しかし、それはIBで行われるので、UIImageViewは常にそこにあります。デフォルトでは、セルを単独で残すか(イメージが表示される)、さもなければUIImageViewを削除してUITableViewCellAccessoryCheckmarkを表示しますか?それが完了した場合、UIImageViewにタグが必要なので、アクセスして削除することができますか?UITableViewCellでの画像表示の切り替え

答えて

6

UIImageViewを含むすべてのコントロールの可視性を簡単に制御できます。 IBで物事を構築したい場合は、必要なコントロールを追加し、プロパティとして公開してから、特定のセルに対して必要でないものを非表示にします。

など。

cell.image.hidden = YES; 

は隠されたとき、彼らは何のドローオーバーヘッドを持っていない、とあなたのセルが数千行を持っているかもしれないが、それはかなり効率的なソリューションですので、非常に少数の実際の細胞が存在します。 [tableView dequeueReusableCellWithIdentifier](これを行う必要があります)を呼び出すと、セルが再利用されるので、可視性が変更された可能性のあるコントロールを明示的に表示/非表示にする必要があります。

代わりに、画像の有無にかかわらずセルを持ち、テーブルにデータを追加するときに正しいものを選択することができます。 2つの同様の、まだ若干異なる資産を管理している類似のセルの場合、おそらく苦痛になるだろう。

関連する問題