2016-05-12 6 views
0

私はTableViewにカスタムセルを持っています。セル内には複数のビューとラベルがあります。今では条件に基づいてビューとラベルをセルから削除したいが、次のセルではそれらを戻して別のビューとラベルを削除したい。TableViewセルから特定のビューを削除し、それらのビューを次のセルに戻す方法はありますか?

私はdequeueReusableCellWithIdentifierを使用していますので、最初のセルからビューを削除した後、2番目のセルでビューを取得していません。

私はいくつかの自動レイアウト調整が必要なので、それらを非表示にしたくありません。

どうすればいいですか? UITableViewCell

答えて

0

使うprepareForReuse():カスタムセルで

override func prepareForReuse() { 
    super.prepareForReuse() 
    // add that view back 
} 
+0

これらのビューを追加するにはどうすればいいですか。私はプログラムで作成して追加する必要がありますか? – Nullify

+0

@ 200OK年、削除した年。 – Lumialxk

+0

は動作しません。 – Nullify

0

あなたがちょうどあなたの条件に応じて、すべてのビューとラベルを追加します。 In

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

} 

あなたは必要に応じて表示とラベルを表示または非表示にするだけです。

+0

私はビューとラベルランタイムを追加したくありません。ビューとラベルを削除した後でセルの自動レイアウトを正しく設定したので、セルが適切に調整されます。ビューを隠した後もビューを隠すことはできません。 – Nullify

0

削除するラベルとビューの高さの制約を設定し、それに対してIBOutletsを設定することができます。カスタムセルからビューを削除する代わりに、条件ごとに高さの制約を0に設定できます。ビューとラベルは画面に表示されません。これがあなたを助けることを願っています。 :)

+0

私のセルは、複雑な自動レイアウト制約では少し複雑です。したがって、高さの制約を使用する方がより複雑になります。私は各セル表示の後にセルをリセットしたい。 – Nullify

+0

回避策を提供することができます。別のカスタムセルを作成して、条件に不要なラベルやビューを削除して、そのカスタムセルを使用することができます。 – Aneesh

+0

それは良い考えではありません4-5の異なるビューのセットがあるので、私はそれらを削除する必要がありますいくつかの条件に依存します。その場合は、多くの細胞があります。 – Nullify

関連する問題