вы можете использовать следующее в случае, если вы использовали пользовательскую ячейку для таблицы.
в следующем коде замените postss [index.row] .post на ваше содержимое ярлыка , а +230 - это минимальная высота вашей ячейки.
или вы можете сказать, что его высота отличается от метки.
метод автоматического измерения будет работать, только если у вас есть 1 метка или 1 текстовое поле, 1 текстовое представление.
и не фиксируйте высоту вашего ярлыка.
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let heightOfRow = self.calculateHeight(inString: postss[indexPath.row].post)
return (heightOfRow + 230)
}
//custom function for calculate dynamic height
func calculateHeight(inString:String) -> CGFloat
{
let messageString = inString
let attributes : [NSAttributedString.Key : Any] = [NSAttributedString.Key.font : UIFont.systemFont(ofSize: 15.0)]
let attributedString : NSAttributedString = NSAttributedString(string: messageString, attributes: attributes)
let rect : CGRect = attributedString.boundingRect(with: CGSize(width: 370, height: CGFloat.greatestFiniteMagnitude), options: .usesLineFragmentOrigin, context: nil)
let requredSize:CGRect = rect
return requredSize.height
}