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