Obecnie rozwijam się na aplikacji, która wyświetla niektóre tweety w tableview. Na scenorysie stworzyłem komórkę prototypową, która zawiera podstawową koncepcję gui wpisu tweet.iOS obliczyć wysokość tekstu w tableView komórki
Wygląda OKOŁO tak:
++++++++++++++
++Username++++
++++++++++++++
++Tweet+++++++
++++++++++++++
++Time-Ago++++
++++++++++++++
teraz jestem obliczania wysokości komórki z następującego kodu, ale jakoś się nie powiedzie.
- (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;
}
Nawiasem mówiąc, jest coś innego, co jest dziwne. Jeśli przewinę widok tabeli, cała aplikacja wydaje się zamarzać. Czy to normalne, czy robię coś nie tak?
To nie jest normalne @ zamrażanie. Z zewnątrz mam przeczucie, może to wynikać z jednego z dwóch powodów: 1) robisz zbyt wiele obliczeń, dzięki czemu do tego dochodzisz. 2) Aby wyświetlić tekst w sformatowany sposób, prawdopodobnie korzystasz z pewnego rodzaju kodowania na każdym wierszu tekstu. –
Witam, dziękuję za komentarz. Masz rację. Zadzwoniłem [tableView reloadData] co sekundę, aby zaktualizować licznik sekund temu. Usunąłem kontuar i zamrożenie zatrzymało się. Próbuję to zrobić w widoku komórki. :) –
To jest fajne. :) –