registerNib: forReuseidentifier mit benutzerdefinierten UTTableViewCell und Storyboards

8

Ich migriere von der Anpassung meiner TableViewCells in tableView:cellForRow:atIndexPath: auf die Verwendung einer benutzerdefinierten UITableViewCell Unterklasse. Hier ist, wie ich es gemacht habe:

Zuerst erstellte leere XIB, zog UITableViewCell dorthin und legte ein UILabel oben drauf. Eine Klasse (Unterklasse von UITableViewCell ) erstellt und im Eigenschafteneditor des Interface Builders die Klasse auf MyCell gesetzt. Setzen Sie dann in meinem TableViewController Folgendes:

%Vor%

Danach löschte ich den gesamten benutzerdefinierten Code von tableView:cellForRow:atIndexPath: und ließ nur Standardzeilen übrig:

%Vor%

Als ich das ausführte, erwartete ich, in jeder Zelle eine Reihe von Zellen mit einem einzigen Label zu sehen (genau das Label, das ich mitten beim Erstellen von XIB fallen gelassen hatte). Aber stattdessen sehe ich nur leere leere Zellen und das Hinzufügen / Entfernen der Komponenten zum XIB-Layout hilft nicht.

Ich gebe A Day aus, indem ich verschiedene Optionen ausprobiere, wie den reuseIdentifier im Interface Builder für die benutzerdefinierte Zelle XIB und die Ansicht in tableView:cellForRow:atIndexPath: , aber keine Hilfe.

    
Arseniy 15.11.2012, 16:37
quelle

1 Antwort

10

... aber es stellte sich heraus, dass das einzige, was ich vermisste, war, den reuseIdentifier für die Prototypzelle in meinem Storyboard für diesen TableViewController zu löschen. Es scheint, dass Storyboard später seine Ansichten / Komponenten initialisiert, dass viewDidLoad aufgerufen wird, und anstatt meine nette benutzerdefinierte Zelle zu verwenden, setzt xCode die echte Zellenansicht für die Wiederverwendung zu einer einfachen weißen Zelle, die der Standard für neu erstellte TableViewControllers ist.

>

Also noch einmal: Gehen Sie zu Ihren TableView-Eigenschaften und entfernen Sie den reuseIdentifier, den Sie vorher gesetzt haben;)

Ich verbringe so viel Zeit dafür, also dachte ich, es könnte jemandem helfen, wenn ich diese Erfahrung hier teile.

    
Arseniy 15.11.2012, 16:37
quelle