Frage

Ich gründe die Zeilenhöhe meines UITableView folgenden Code

[tableView setRowHeight: 100.00];

Ich bin mit der einzigen Zeile als Trennzeichen im UITableView.

Eventhough die Höhe über Einstellung, Höhe der Zeile nicht ändern bekommen.

War es hilfreich?

Lösung

Sie sollten implementieren

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

Delegatmethode. und das Rück 100,0 dort.

Andere Tipps

Sie sollten die heightForRowAtIndexPath vermeiden, wenn alle Reihen ähnlicher Höhe sind und die rowHeight Eigenschaft verwenden. Gemäß der Dokumentation:

  

Es gibt Auswirkungen auf die Leistung zu verwenden Tableview: heightForRowAtIndexPath: statt rowHeight. Jedes Mal, wenn eine Tabellenansicht angezeigt wird, ruft er Tableview: heightForRowAtIndexPath. Auf dem Delegierten für jede ihrer Zeilen, die in einer signifikanten Performance-Problem mit Tabellenansichten, die eine große Anzahl von Zeilen (etwa 1000 oder mehr)

In der UITableViewController Unterklasse es getan werden könnte, zum Beispiel, in dem viewDidAppear Verfahren (die UITableViewController hat einen Verweis auf die Tableview):

self.tableView.rowHeight = 79.f;

Die Zeilenhöhe wird in die Zellen, wenn sie zuerst gebacken wird angezeigt.

Haben Sie setzen UITableView # rowHeight bevor die Datenquelle einstellen?
Wenn nicht, so tun.
Wenn aus irgendeinem Grund Sie nicht können, Ihre andere Option ist UITableView # reload nach dem Einstellen der Zeilenhöhe zu nennen.

Ich habe wie diese hier tableobj ist nichts anderes als UITableView Objekt in meiner Anwendung.

- (void)viewDidLoad
{
    [super viewDidLoad];
    [tableObj setRowHeight:100.0f];
}

oder handhabt es in numberOfRowsInSection: wie:

- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
    [tableObj setRowHeight:100.0f];
    return [soandso count]; // soandso is my object
}

Da die rowHeight gesetzt, bevor die Datenquelle einstellen. Er arbeitete für mich (für gleiche Zeilenhöhen).

Die bessere und sauberere Lösung ist, die Delegatfunktion (Vielleicht nicht die beste, wenn Ihre UITableView hat viele Zeilen ...) zu implementieren.

Auch denken, dass UITableVieCell UIView sind, so dass Sie ihre Höhe zunächst ändern könnte ...

Die Teilnehmer sind sehr mächtig in iPhone dev, hier die UITableViewDelage:

http://developer.apple .com / iphone / Bibliothek / Dokumentation / UIKit / reference / UITableViewDelegate_Protocol / Reference / reference.html

Sie können auch die indentForRow ändern, displayCellForRow, heightForRow, bearbeiten Sachen .....

Ich denke nicht, gibt es ein solches Verfahren in UITableView ...

Sie können stattdessen die Eigenschaft rowHeight ...
Versuchen, tableView.rowHeight = 100;

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