To jest na iPhonie 0S 2.0. Odpowiedzi na 2.1 też są w porządku, chociaż nie znam żadnych różnic dotyczących tabel.
Wydaje się, że powinno być możliwe zawijanie tekstu bez tworzenia niestandardowej komórki, ponieważ domyślnie UITableViewCellzawiera UILabel. Wiem, że mogę sprawić, że zadziała, jeśli utworzę niestandardową komórkę, ale nie o to próbuję - chcę zrozumieć, dlaczego moje obecne podejście nie działa.
Dowiedziałem się, że etykieta jest tworzona na żądanie (ponieważ komórka obsługuje dostęp do tekstu i obrazu, więc nie tworzy widoku danych, dopóki nie jest to konieczne), więc jeśli zrobię coś takiego:
cell.text = @""; // create the label
UILabel* label = (UILabel*)[[cell.contentView subviews] objectAtIndex:0];
wtedy otrzymuję prawidłową etykietę, ale ustawienie numberOfLinesna niej (i lineBreakMode) nie działa - nadal otrzymuję tekst jednowierszowy. W UILabeltekście jest dużo wysokości do wyświetlenia - zwracam tylko dużą wartość wysokości w heightForRowAtIndexPath.