如何根据swift中的内容增加TableViewCell的高度

时间:2016-09-10 11:20:00

标签: ios swift uitableview

我有UITableView,我想在UITableViewCell显示产品。

产品可以是多个产品,因此我必须在屏幕截图中显示此格式的产品。

当有多个产品时,我想扩展该单元格的高度。

假设一个产品的高度是默认值。

高度会根据内容而改变。

我如何实现这一目标?

截图:

enter image description here

2 个答案:

答案 0 :(得分:0)

如果你可以计算文字的高度,那么加入单元格高度 像贝娄一样

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
    var height:CGFloat = self.calculateHeightForString(messageArray[indexPath.row])
    return height 
}

func calculateHeightForString(inString:String) -> CGFloat
{
    var messageString = inString
    var attributes = [UIFont(): UIFont.systemFontOfSize(15.0)]
    var attrString:NSAttributedString? = NSAttributedString(string: messageString, attributes: attributes)
    var rect:CGRect = attrString!.boundingRectWithSize(CGSizeMake(300.0,CGFloat.max), options: NSStringDrawingOptions.UsesLineFragmentOrigin, context:nil )//hear u will get nearer height not the exact value 
    var requredSize:CGRect = rect
    return requredSize.height  //to include button's in your tableview

}

答案 1 :(得分:0)

查看自我调整大小,raywenderlich教程: self-sizing-cells