質問

条件の結果に応じて、私はテーブルのセル内のUIImageViewを表示したいです。それ以外の場合はUITableViewCellAccessoryCheckmarkを表示します。私はIBのセルを構築したいと思います。一部には、私はそれが表示されたくない場合UIImageViewをどうするかのか分かりません。私はプログラムですべてを構築した場合は、必要に応じて、私はUIImageViewを追加すると思います。それはIBで行われますので、しかし、UIImageViewは常にあります。デフォルトでは、そうでない場合はUIImageViewを削除し、UITableViewCellAccessoryCheckmarkを表示し、のみ(画像表示装置)を、細胞を残すべきか?そのようにすれば、それはアクセスして取り外すことができるので、私はUIImageViewのタグが必要になりますか?

役に立ちましたか?

解決

あなたは簡単にUIImageViewを含む任意のコントロールの可視性を制御することができます。あなたはIBで物事を構築したい場合は、一つの解決策は、あなたが必要なコントロールを追加プロパティとして公開し、その後あなたが与えられたセルのためにしたくないものを隠すことです。

例えばます。

cell.image.hidden = YES;

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

の代替は、画像とない細胞を持っており、あなたのテーブルにデータを追加する際に正しいものを選択することです。似ている細胞では2つの類似した、まだminorly-異なる資産を管理することは、おそらくかかわらず、痛みになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top