Ist es möglich, eine UITableViewCell in iOS 8 selbst zu erstellen, ohne eine benutzerdefinierte UITableViewCell zu erstellen?Self-Sizing (dynamische Höhe) Zellen in iOS 8 - möglich ohne benutzerdefinierte UITableViewCell?
Ich dachte, dass die Standard-UITableViewCell-Typen (UITableViewCellStyleDefault, UITableViewCellStyleSubtitle, UITableViewCellStyleValue1, UITableViewCellStyleValue2) automatische Layout-Einschränkungen eingebaut hatten. Dies wird durch die Tatsache bestätigt, dass die Einschränkungen für nicht benutzerdefinierte Zellen im Storyboard nicht geändert werden können.
Aber wenn ich eine nicht-benutzerdefinierte Zelle vom Typ verwenden UITableViewCellStyleValue1, setzen Sie ihn in der Storyboard-up, Set numberOfRows für textlabel und detailTextLabel auf 0, und stellen Sie den viewDidLoad Code wie unten, nur die textlabel der Zelle berücksichtigt wird in die automatische Größeneinstellung der Zelle. Wenn das detailTextLabel auf mehr Zeilen als das textLabel angezeigt wird, wird der Text für detailTextLabel über den oberen und unteren Rand der Zelle ausgegeben. Auch hier ändert sich die Größe der Zelle für textLabel, scheint aber die detailTextLabel in ihrem Größenänderungsprozess zu ignorieren.
Die Hauptsache, die ich wissen muss, ist - muss ich eine benutzerdefinierte Zelle sogar für die Zeilen erstellen, die eine Standardzelle verwenden können, wenn ich Dynamischen Text und Self-Sizing richtig unterstützen möchte?
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView setEstimatedRowHeight:DEFAULT_ROW_HEIGHT];
[self.tableView setRowHeight:UITableViewAutomaticDimension];
}
Alles, was ich gefunden habe, sagt, Sie müssen entweder -tableView: heightForRowAtIndexPath: oder eine benutzerdefinierte Unterklasse verwenden. Ich kann nicht erkennen, warum das automatische Layout in Standardzellenklassen für die Bereitstellung von iOS 8 nicht ordnungsgemäß eingerichtet wurde, aber es sieht so aus, als ob es nicht funktioniert. – Thromordyn
@Thromordyn Hat sich das in iOS 9 überhaupt geändert? Ich ziehe meine Haare aus und versuche, all die vielen und unterschiedlichen Aspekte der richtigen Detailzelle nachzubilden, nur damit die Zeilenhöhe zunimmt, wenn das detailTextLabel länger als 1 Zeile ist. Wurde das schon überall gemacht? Ich versuche, das Rad neu zu erschaffen, aber es gibt so viele Dinge, an die man denken muss, dass sich das wie eine große Zeitverschwendung anfühlt. – SAHM
Verlorene Stunden zu diesem Thema -_- – aehlke