Frage

Je nach Ergebnis einer Bedingung, möchte ich eine UIImageView in einer Tabellenzelle angezeigt werden soll. Ansonsten UITableViewCellAccessoryCheckmark anzuzeigen. Ich möchte die Zelle in IB konstruieren. Der Teil Ich bin mir nicht sicher, was mit der UIImageView zu tun, wenn ich will es nicht angezeigt. Wenn ich das alles programmatisch bauten, würde ich die UIImageView nach Bedarf hinzufügen. Aber da es in IB durchgeführt wird, ist die UIImageView immer da. Sollte der Standard die Zelle allein (Bildanzeigen) verlassen, sonst UIImageView entfernen und UITableViewCellAccessoryCheckmark angezeigt werden? Wenn das erledigt ist, werde ich brauche einen Tag auf UIImageView so kann es abgerufen und entfernt werden?

War es hilfreich?

Lösung

Sie können ganz einfach die Sichtbarkeit jeder Kontrolle steuern, einschließlich UIImageView. Wenn Sie die Dinge in IB bauen möchten, dann ist eine Lösung, die Steuerelemente hinzufügen, die Sie benötigen, setzen sie als Eigenschaften, und dann verstecken die, die Sie nicht für eine bestimmte Zelle wollen.

z.

cell.image.hidden = YES;

Wenn verstecken sie keinen UE-Overhead, und obwohl Ihre Zelle Tausende von Zeilen haben wird es nur sehr wenige tatsächlichen Zellen, so ist es eine ziemlich effiziente Lösung. Denken Sie daran, dass die Zellen wiederverwendet werden, wenn Sie rufen [Tableview dequeueReusableCellWithIdentifier] (was Sie tun sollten), so werden Sie müssen explizit zum Anzeigen / Verbergen Kontrolle, deren Sichtbarkeit geändert wurden.

Eine Alternative ist es, Zellen zu haben, mit und ohne Bilder und wählen Sie die richtigen, wenn Daten auf den Tisch legen. Für Zellen, die ähnliche Verwaltung zwei ähnliche-nicht-minorly-andere Vermögenswerte würden wahrscheinlich obwohl ein Schmerz sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top