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