Anschließen IBOutlets zu UITableViewCell Prototyp
Erstelle ich ein UITable mit custom UITableViewCell Prototyp.
Meine Zelle enthält UIImageViews, UILabels und UIButtons.
Wenn ich das Steuerelement und ziehen Sie aus meinen Tasten meiner Klasse " - Schnittstelle funktioniert es Prima. Allerdings funktioniert es nicht mit Steckdosen.
Wenn ich das IBOutlet in der .h-Datei, ich kann mich nur anschließen, wenn ich wählen Sie die UITable nicht die Zelle, und natürlich ist das Ergebnis eine kaputte app.
Habt Ihr eine Idee, wie man dieses Problem lösen? Ich will nicht verwenden Sie eine eigene Klasse nur für die Zelle. Ich möchte einen stick mit Storyboard und Prototypen.
Vielen Dank im Voraus
- bitte geben Sie Beispiele
- Was ist falsch über die Verwendung eine custom class?
- Nichts falsch. Ich Frage mich, wenn ich könnte das gleiche zu tun, wie kann ich tun, wenn ich eine Aktion (ziehen und ablegen)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendung von Etiketten mit tag wird den job zu erledigen, aber nie eine gute Praxis ... der beste Weg, um erstellen Sie eine benutzerdefinierte Klasse UITableViewCell.
ie, wählen Sie
Neue Datei>Cocoa Touch >Objective-C-Klasse
und
Erstellen Sie eine Unterklasse von UITableViewCell
jetzt bekommen Sie .h und .m-Dateien..
Nächsten Schritt erstellen Sie die Sicht auf die Zelle für diese
wählen Sie
Neue Datei - > Benutzer-Schnittstelle > Leer
und nun legen Sie diese mit demselben Namen Ihres customcell Klasse (sagen wir "CustomCell")
jetzt haben Sie drei Dateien CustomCell.h,CustomCell.m,CustomCell.xib
nun wählen Sie die xib-Datei und fügen Sie UITableViewCell Objekt auf der xib und festlegen der benutzerdefinierten Klasse als "CustomCell"
Sehen Sie unten pic
nun nach diesem ziehen Sie alle Ding (UIImageView,UITextfield,UIButton) der unten Ansicht, und geben Sie outlets auf der CustomClass und zu verwalten, die Aktionen, die mit delegate-Methoden..
wenn Sie Bildansicht outlet als titleImage ..dann hast du Zugriff auf die gleichen durch die Schaffung der cell-Objekt in CellForRowAtIndex (TableView delgate-Methode) zum Bild festlegen.
nun noch eins, was ich zu sagen habe ist, dass Sie implementieren müssen, um eine init-Methode auch in CustomCell.m zum laden der nib - >>
wird es Aussehen wie in der folgenden code.
Nun ist es besser, Delegierte, wenn Sie mithilfe der Schaltflächen auf Ihrem Handy
so, dass in der button action Methode, die Sie aufrufen können Delegaten-Methode (pass-cell-Objekt) und die Umsetzung der Stellvertretung in Ihrer ViewController mit TableView
hier ist das Beispiel
jetzt können Sie Ihr Handy für die UITableView zu füllen...und nicht für erhalten reuseIdentifier Wert in CustomCell.xib (gleiche wie Sie CustomClass)
legen es nämlich ,hmm was anderes "customCell"
also beim Auffüllen der tableView verwenden
auch vergessen Sie nicht, fügen Sie Delegaten Methoden
geben
auf Ihre ViewController.h-Datei ViewController
und implementieren Sie Ihre Körper in Ihre ViewController.m (Implementierungsdatei)
als
es ist besser zu geben-index-Eigenschaft, um Ihre Zelle, um Ihre Tabelle auswählen, abwählen, Methoden
bieten
in Ihrem CustomCell.h
und auch
hinzufügen
in Ihrem tableView cellAtRow delegieren.....
Diese Aussehen wird, wie eine lange Methode, aber seine ruhige nützliche und gut lesbare...
-------NB----------:
Wenn Sie die Ausrichtung Problem, nur zurück, die CustomCell Höhe
durch die Umsetzung
kann es auftreten....
Müssen Sie zum erstellen einer custom UITableViewCell Klasse für die Zelle und dann nur Strg + ziehen zum erstellen outlets machen Sinn , andere Weise gibt es eine noch einfachere Möglichkeit. Haben tags wie 99343 , 99345(um überschneidungen zu vermeiden), um Ihre UIImageViews , UILabels etc, und greifen Sie wie