Try переопределять методы:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
Комплексное решение:
В прошивкой 8, Apple вводит новый для UITableView известных как ячейки для определения размеров. До iOS 8, если вы отображали динамический контент в виде таблицы с помощью разной строки, вам нужно рассчитать высоту строки самостоятельно.
В общем, вот шагах по реализации при использовании собственных размеров клеток:
• Добавить ограничение Автокомпоновки в вашем прототипе ячейке
• Укажите estimatedRowHeight вашего табличного
• Установить RowHeight вашего зрения табличного UITableViewAutomaticDimension
выражая последние две точки в коде, его внешний вид, как:
tableView.estimatedRowHeight = 43.0;
tableView.rowHeight = UITableViewAutomaticDimension
Вы должны добавить его в метод viewDidLoad.
С помощью всего лишь двух строк кода вы инструктируете табличный вид рассчитать размер ячейки, соответствующий ее содержимому, и визуализировать ее динамически. Эта функция калибровки ячеек должна сэкономить массу кода и времени.
В Атрибутах Инспектор вашего UILabel измените значение Lines на 0, поэтому метка автоматически отрегулирует количество строк, соответствующих содержанию.
Обратите внимание, что требуется первая точка и помните, что вы не можете использовать ячейку для самостоятельной калибровки без применения автоматической компоновки.
Если вы банкнота знакомы с автоматической раскладки, пожалуйста, прочитайте это, будет достаточно:
https://developer.apple.com/library/mac/recipes/xcode_help-IB_auto_layout/chapters/pin-constraints.html
Или, более простой способ установить автоматическую раскладку, но, возможно, не будет то, что вы точно ожидать, чтобы очистите все свои ограничения, перейдите к разделу «Решение проблем автоматического макета», и для всех просмотров нажмите «Сброс» к «Предлагаемые ограничения».
проверить [это] (http://stackoverflow.com/questions/19215199/dynamically-size-uitableviewcell-according-to-uilabel-with-paragraph-spacing). Это Objctive-C версия –
@Boyi Li, извините, я понятия не имею о Objective C, пожалуйста, помогите ... –
Это можно сделать с помощью 2 строк кода, если вы используете автоматическую компоновку. Почему вы не используете это? – rdelmar