У меня есть тип ячейки value1, потому что некоторые из моих подробных текстов меток слишком длинные и обрезаются, поэтому я обновляю высоту ячеек, чтобы соответствовать тексту.
Однако после обновления высоты мойтекстовая метка находится в верхнем левом углу, а не вертикально в середине.Вот так:
================== =====================
label => label
==================
=====================
Кто-нибудь знает, как это исправить?
Редактировать
Код для изменения высоты:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
var rowHeight=44.0
var numOfLines = 1;
if let cell = tableView.cellForRow(at: indexPath),let label = cell.detailTextLabel, let size = label.text?.size(withAttributes: [NSAttributedString.Key.font:label.font]){
let labelWidth = label.frame.width
label.textAlignment = .left
while(Int(size.width) > Int(labelWidth) * numOfLines){
rowHeight+=20;
numOfLines+=1
}
//becuase it was rounded down as int
numOfLines+=1
print("number of lines \(numOfLines)")
label.numberOfLines = numOfLines
label.lineBreakMode = .byCharWrapping
}
return CGFloat(rowHeight)
}