Ich entwickle derzeit auf einer App, die einige Tweets in einer Tabellenansicht anzeigt. Auf dem Storyboard habe ich eine Prototyp-Zelle erstellt, die das grundlegende GUI-Konzept eines Tweeteintrags enthält.iOS berechnen Höhe in der Tabelle Zelle anzeigen
Es sieht circa wie folgt aus:
++++++++++++++
++Username++++
++++++++++++++
++Tweet+++++++
++++++++++++++
++Time-Ago++++
++++++++++++++
Jetzt bin ich mit dem folgenden Code, um die Höhe der Zelle zu berechnen, aber irgendwie versagt es.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary * currentTweet = [tweetArray objectAtIndex: indexPath.row];
NSString * tweetTextString = [currentTweet objectForKey: @"text"];
CGSize textSize = [tweetTextString sizeWithFont:[UIFont systemFontOfSize:15.0f] constrainedToSize:CGSizeMake(630, 1000) lineBreakMode: NSLineBreakByWordWrapping];
float heightToAdd = 24 + textSize.height + 15 + 45;
if(heightToAdd < 90) {
heightToAdd = 90;
}
return heightToAdd;
}
Übrigens gibt es etwas anderes, was seltsam ist. Wenn ich die Tabellenansicht scrolle, scheint die ganze App zu frieren. Ist das normal oder mache ich etwas falsch?
Es ist nicht normal @ Einfrieren. Von außen habe ich das Gefühl, das könnte an einem der beiden Gründe liegen: 1) Sie machen zu viele Berechnungen, aufgrund derer es dazu führt. 2) Um Text in einer formatierten Weise anzuzeigen, verwenden Sie möglicherweise eine Art Codierung für jeden Text der Zeile. –
Hallo, danke für deinen Kommentar. Du hast recht. Ich habe [tableView reloadData] jede Sekunde aufgerufen, um den Sekundenzähler zu aktualisieren. Ich entfernte den Schalter und das Einfrieren hörte auf. Ich versuche das in der Zellansicht zu tun. :) –
Das ist cool. :) –