Это на 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
.