Це на 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
.