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 UITableViewCell
zawiera 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 numberOfLines
na niej (i lineBreakMode) nie działa - nadal otrzymuję tekst jednowierszowy. W UILabel
tekście jest dużo wysokości do wyświetlenia - zwracam tylko dużą wartość wysokości w heightForRowAtIndexPath
.