Das erstellen von custom UITableViewCell ' s in einem Storyboard
Wollen, erstellen Sie ein statisches Menü (IOS 5) und dem Versuch, erstellen Sie benutzerdefinierte Zellen in das storyboard, um dann die Last auf die gruppierten tableview.
Habe ich die Steckdose
@property(nonatomic,strong) IBOutlet UITableViewCell *labelCell;
Den ViewController Klasse ist auf dem richtigen TableViewController und ich habe verbunden die benutzerdefinierte Zelle an diese Steckdose angeschlossen werden.
Ich habe auch das delegate und datasource einrichten.
Habe ich
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
return self.labelCell;
}
Ich bin sicher, es gibt eine Tonne falsch mit diesem, aber ich versuche nur die Anzeige einer Zelle und gehen von dort aus. Es scheint nicht zu sein, alle Beispiele zu tun, benutzerdefinierte Zellen innerhalb der IB durch das storyboard. Ich kann immer noch den alten Weg der Erstellung einer xib-Datei und laden Sie es in die mainBundle aber ich möchte nur up to date bleiben, denke ich.
aber mit dem, was ich oben bekomme ich einen crash wenn ich dieses laden-view-controller. SIGABRT
InformationsquelleAutor Doug | 2011-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Ihre
UITableView
zu verwenden, die 'Statische Zellen im storyboard, brauchen Sie nicht zu der Implementierung derUITableViewDataSource
Methoden und können Sie ändern Sie die Zelle direkt in den Interface Builder. Für ein einzelnes Etikett Zelle wählen Sie die Zelle und ändern Sie den Typ auf "Basic". Nun können Sie die Zelle Bearbeiten wie jede andere view-Objekt.Als eine zufällige Frage, ob mit statischen Zellen bedeuten, dass Sie genau die Menge an Zellen, die Sie angeben, in IB? Da Sie nicht implementieren müssen, um die Datenquelle Methoden ich nehme an, Sie können nicht ändern die Daten in der Tabelle anzeigen und das ist, warum Sie nannte es statisch - richtig?
genau. In der Tat, sollten Sie das entfernen der stub-Implementierungen der Datenquelle Methoden.
InformationsquelleAutor Mark Adams
Hier ist was ich gelernt habe, über sein, wie Sie die Zellen Ihrer Tabelle, wenn Sie mit dem storyboard. Wenn Sie ziehen ein UITableView in deiner Sicht, es kommt mit einem Prototyp-Zelle bereits festgelegt, wie eine Untersicht. Die Verwendung dieser Prototyp Zelle, legen Sie eine eindeutige reuse-identifier in der Eigenschaften-inspector, und verwenden Sie dann die gleichen Bezeichner zu entfernen, die Zelle in Ihrem cellForRowAtIndexPath: Methode. Lasse ich den code für die Erstellung einer Zelle von Grund auf, wenn der dequeue-Aufruf gibt null; ich glaube nicht, dass es passieren kann. So einfach entfernen Sie die Zelle, konfigurieren Sie es mit den üblichen UITableViewCell Methoden, und gibt es zurück.
Aber Sie können auch benutzerdefinierte Unterklassen von UITableViewCell. Setzen Sie einfach den Namen der Klasse in das storyboard ist Klasse identity-Inspektor, und ziehen Sie, was auch immer Elemente, die Sie möchten, aus der Objekte-palette in Ihre Zelle. Dann erstellen IBOutlet-Eigenschaften in der Unterklasse s-code-Dateien, und Haken Sie Sie bis zu der Zelle, in der storyboard-in der üblichen Weise. Das ist so viel besser, als es zu tun alle im code!
Und schließlich, Sie können mehr als eine Art von Zelle in Ihrer Tabelle. Ziehen Sie einfach UITableViewCell Objekte aus der palette in die Tabelle ein, und geben Sie jedem eine einzigartige Wiederverwendung-id in dem Attribut-Inspektor. In Ihrem cellForRowAtIndexPath: Methode, wählen Sie den Typ jeder Zelle und Sie können haben eine sehr flexible Tabellenansicht.
Ich habe ein neues Szenario (Zweifel). Wenn ich eine
UITableView
mit benutzerdefinierten Zelle, die enthält+
,-
Tasten undUITextField
. alle Einstellungen erfolgen nach Ihrem Absatz #2 schon, aber jetzt will ich verhindern, dass meine Zellen wiederverwendet werden, ist es eine gute Weise, es zu tun? sollte ich auch tun? (ich will die Funktionalität des Hinzufügens von mehr als einem E-Mail-ID)Ah, aber einige kommen hier aus einer Google-Suche, ohne zu merken, die "statischen" Teil. Der Titel ist ein wenig irreführend. So ist das Antwort war eigentlich das, was ich gesucht.
InformationsquelleAutor David Casseres
Diese tutorial war hilfreich für mich. Sie können auf was auch immer Objekt, das Sie brauchen, durch den tag.
In das Storyboard ziehen
UIImageView
oderUILabel
etc. und die tag-zu 100 (was auch immer Sie wollen), dann in Ihrem- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
verwenden Sie die tag-zu verweisen.Hier ist der Beispiel-code im tutorial, nur daran denken, die tags in das storyboard:
InformationsquelleAutor KKendall