Frage

Ich bin sehr früh in der Entwicklung iPhone Lernprozesse. Ich versuche, meinen Kopf um verschiedene Stücke zu bekommen. Im Moment habe ich nur die grundlegende Navigation Vorlage genommen und ich versuche, eine einfache gruppierten Tabellenansicht mit einem paar Textfeldern zu erstellen. Was ich kann nicht scheinen zu tun ist, um Interface Builder zu bekommen, mir zu erlauben eine UITableViewCell in eine UITableView fallen zu lassen, so dass ich dann ein Textfeld auf die Zelle hinzufügen. Ist das überhaupt möglich ist (es scheint, dass seine angeblich angesichts der Tatsache, dass UITableViewCell eine ziehbar Kontrolle ist)?

Falls nicht, dass all das bedeutet, ist Code, den ich brauche, um mich nur zu schreiben?

War es hilfreich?

Lösung

Sie können die Zelle mit Interface Builder erstellen, aber Sie müssen es ein Top-Level-Objekt machen, sondern als ein Kind der Tabellenansicht. Dann können Sie diese Zelle zurückkehren in Ihrem View-Controller Tableview: cellForRowAtIndexPath:. Funktion

Stellen Sie sicher, dass die Zelle eine Kennung im Interface Builder zu geben und dann mit dem gleichen Bezeichner mit dequeueReusableCellWithIdentifier: (siehe Beispielcode für, wie das funktioniert - die Idee ist, dass die Zellen wieder gewöhnen -.. das Betriebssystem nur so viele Zellen wie fit auf dem Bildschirm auf einmal vergeben wird cleverer Weg um Speicherplatz zu sparen)

Andere Tipps

Seien Sie vorsichtig mit Boot an die Methode Kopf. Sie werden auslaufen, wenn Sie nicht richtig mit Ihrem IBOutlets beschäftigen. Ich werde versuchen, dies zu den besten meiner Fähigkeit zu erklären, ohne Entsendung Code (NDA). Wenn Sie sich mit IB planen Sie Ihre Zelle zu erstellen, machen den UITableViewCell es eigene Xib Datei ist. Legen Sie die Management-Datei als UIViewController Unterklasse (oder UITableController). Rufen Sie den IBOutlet so etwas wie UITableViewCell *cellFactory. Im UITableViewDataSource Verfahren tableView:cellForRowAtIndexPath: tut den folgenden Pseudo-Code;

  1. Versuchen Sie, eine Zelle mit der Kennung Sie Setup in IB aus der Warteschlange entfernt
  2. Wenn dies gelingt, fertig. Verwenden Sie einfach die Zelle
  3. Sie sonst noch brauchen eine neue Zelle zu erstellen. Verwenden Sie die [NSBundle mainBundle] loadNibNamed:owner:options: Methode mit Ihrer richtigen xib Datei drin. Dies wird den cellFactory Ivar mit einer frischen Zelle füllen. Hier kommt der schwierige Teil.
  4. set cell = cellFactory dann cellFactory lösen und setzt es gleich Null sein, dass Sie versehentlich nicht wieder verwenden. Sie sind jetzt sicher Zelle als normal
  5. verwenden

Leider ist es nicht wirklich auf diese Weise arbeiten - die Zellen in der Tableview werden von den Delegierten zur Laufzeit generiert. Es stellt sich heraus sehr einfach Code zu sein, aber. Überprüfen Sie den Tableview Beispielcode aus, es ist ziemlich leicht zu folgen.

Dies ist ein gutes Tutorial über die Verwendung der UI-Builder für UITableView der

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