Próbuję wyświetlić tabelę pełną statusów Twittera (tak, to jest zadanie Stanford Presence 2), które mają zmienne rozmiary. Mogę stosunkowo łatwo określić odpowiednią wysokość dla moich wierszy z kodem, który jest zbliżony (od accompanying lecture 9):Jaki jest najlepszy sposób na wdrożenie wielowierszowego UITableCell o zmiennej wielkości?
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *) indexPath
{
NSString *text = ...;
UIFont *font = [UIFont systemFontOfSize:...];
CGSize withinSize = CGSizeMake(tableView.width, 1000];
CGSize size = [text sizeWithFont:font constrainedToSize:withinSize lineBreakMode:UILineBreakModeWordWrap];
return size.height + somePadding;
}
próbowałem dwa podejścia (oraz kilka poprawek do obu), aby uzyskać wielu linii tekstu owijania pola tekst do mojego wiersza tabeli.
Dodaj UILabel jako podrzędny do mojego niestandardowego UITableCell podklasy i ustawić właściwość
numberOfLines
albo obliczoną liczbę na podstawie wysokości powyżej (powiedzmy, 6) lub 0 (teoretycznie nieograniczona).numberOfLines
jest ignorowany; Widzę 1 lub 2 linie i nic więcej.Dodaj UITextView tylko do odczytu jako wyeksponowanie. Ma to problem, że UITextView zjada moje przewijanie; Kończę przewijanie wewnątrz wiersza UITextView zamiast przechodzić płynnie z rzędu do wiersza. Jeśli wyłączę przewijanie w UITextView, w ogóle nie będę w stanie przewijać.
Jest to dość powszechna rzecz do zrobienia; jaki jest najlepszy sposób, aby to osiągnąć?
To wydaje się działać, z przewijaniem wyłączone. Myślę, że gdzieś mój UITextView nie jest uzyskiwanie odpowiedniej wielkości. –
Tak, w końcu udało się uzyskać odpowiedni zestaw parametrów automatycznego modelowania, aby to działało. –