答案 0 :(得分:2)
限制你的标签高度相等并将线条设为0。
var pickheight: CGFloat = 0.0
在
中写下此行override func viewDidLoad() {
super.viewDidLoad()
tableTrip.rowHeight = UITableViewAutomaticDimension
}
增加tableview单元格的方法。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
pickheight = self.findHeightForText("Pass your text here like array value as String ", havingWidth: self.view.frame.size.width - 116, andFont: UIFont.systemFontOfSize(14.0)).height
return "YOUR_DEFALUT_CELL_SIZE" + pickheight
}
func findHeightForText(text: String, havingWidth widthValue: CGFloat, andFont font: UIFont) -> CGSize {
var size = CGSizeZero
if text.isEmpty == false {
let frame = text.boundingRectWithSize(CGSizeMake(widthValue, CGFloat.max), options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil)
size = CGSizeMake(frame.size.width, ceil(frame.size.height))
}
return size
}
答案 1 :(得分:1)
答案 2 :(得分:0)
你真正需要做的就是:
设置 estimatedRowHeight 或实现身高估算委托方法。
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 200 // Set maximum height needed for the table row
让Auto Layout在UITableViewCell上运行的技巧是确保你有限制来固定所有方面的每个子视图 - 也就是说,每个子视图应该有前导,顶部,尾部和底部约束。然后,子视图的固有高度将用于指示每个单元格的高度。
请阅读本文了解详情和工作示例:https://www.raywenderlich.com/129059/self-sizing-table-view-cells