В моей доске объявлений у меня есть UITableView
с динамически генерируемым UITableViewCell
. Каждая ячейка содержит 2 метки и 1 вид текста:Как настроить высоту UITableViewCell на содержимое UITextView внутри?
У меня есть код, который настроить размер текстового поля, чтобы количество текста:
let fixedWidth = cell.myComment.frame.size.width
cell.myComment.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
let newSize = cell.myComment.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
var newFrame = cell.myComment.frame
newFrame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)
cell.myComment.frame = newFrame;
и она отлично работает, когда я установить фоновый цвет моей TextView на красный я вижу:
и сама клетка - я устанавливаю си зе здесь:
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
if indexPath.row == 0 {
return 100//this is my static cell
}
else {
return 117; //for now it's hardcoded - how can I set this value dynamically based on content?
}
}
Так как я писал в комментарии выше - как я могу установить высоту ячейки динамически в зависимости от количества текста в текстовом виде?
Хм, поэтому при этом мне все еще нужна часть кода, ответственного за настройку высоты текстового вида? – user3766930
Нет. Пока вы ограничиваете края, UITextView достаточно умен, чтобы обернуть текст во вторую строку. Он, как и 'UILabel', имеет собственный размер содержимого, основанный на его тексте. – Connor
спасибо, человек, работает как шарм :) – user3766930