Это на iPhone 0S 2.0. Ответы на 2.1 тоже хороши, хотя я не знаю каких-либо различий в отношении таблиц.
Похоже, что должна быть возможность получить текст для переноса без создания настраиваемой ячейки, поскольку UITableViewCell
по умолчанию содержит UILabel
. Я знаю, что смогу заставить его работать, если создам настраиваемую ячейку, но я не пытаюсь достичь этого - я хочу понять, почему мой текущий подход не работает.
Я понял, что метка создается по запросу (поскольку ячейка поддерживает доступ к тексту и изображениям, поэтому она не создает представление данных до тех пор, пока это необходимо), поэтому, если я сделаю что-то вроде этого:
cell.text = @""; // create the label
UILabel* label = (UILabel*)[[cell.contentView subviews] objectAtIndex:0];
тогда я получаю действительную метку, но установка numberOfLines
на ней (и lineBreakMode) не работает - я все равно получаю однострочный текст. В UILabel
достаточно высоты для отображения текста - я просто возвращаю большое значение высоты в heightForRowAtIndexPath
.