无法在tableview单元格中放置多行

时间:2016-01-20 03:03:24

标签: ios swift uitableview

我正在尝试在表格视图单元格中有一个标题和多行,但是单元格没有针对"标题"以及适合那里的3条线。

这是我的代码,负责标题和3行

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("deviceCell", forIndexPath: indexPath)

    cell.textLabel?.text = "Title"
    cell.detailTextLabel?.text = "Line1 " + "\n" + "Line2" + "\n" + "Line3"

    return cell
}

这是我运行程序后的样子

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:3)

添加这两个新方法这有助于解决这个问题

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

答案 1 :(得分:1)

您必须将单元格高度更改为AutomaticDimention

  • 使用AutoLayout设置标签高度

    在你的情况下:你必须设置标签高度大于3行 文本。

  • 设置tableView.rowHeight = UITableViewAutomaticDimension

  • tableView.estimatedRowHeight = YOUR_ESTIMATION_HEIGHT

然后单元格将适合您的内容