UITableViewAutomaticDimension与Subtitle UITableViewCells无法正常工作

时间:2015-07-29 13:20:24

标签: ios uitableview ios8 uikit

我创建了2个UITableView部分。第一部分使用UITableViewCells样式Default,第二部分使用Subtitle样式。两个单元格都可能有多行文本标签。

我已将表格rowHeight设置为UITableViewAutomaticDimension

从下面的屏幕截图中可以看出,UITableViewAutomaticDimension仅在使用Subtitle样式时得到尊重:高度似乎符合textLabel的高度但不是detailLabel的一个。

如何让Subtitle细胞达到正确的高度?

一些代码:

override func viewDidLoad() {
    super.viewDidLoad()
    tableView.delegate = self
    tableView.estimatedRowHeight = 80
    tableView.rowHeight = UITableViewAutomaticDimension

    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "defaultCell")
    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "subtitleCell")
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if indexPath.section === 1 {
        var cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "subtitleCell")
        cell.textLabel?.numberOfLines = 0
        cell.textLabel?.text = "A Long text..."
        cell.detailTextLabel?.numberOfLines = 0
        cell.detailTextLabel?.text =  "A Long text..."
        return cell
    }
    else {
        var cell = tableView.dequeueReusableCellWithIdentifier("defaultCell") as! UITableViewCell

        cell.textLabel!.text = "A long text..."
        cell.textLabel?.numberOfLines = 0
        return cell
    }

}

我试图实现UITableViewCell的子类,但是我遇到了autolayout和section titles(长篇故事)的许多问题,所以我想知道我是否可以用更简单的方式解决问题。

1 个答案:

答案 0 :(得分:0)

刚试过Xcode 9iPhone 8 simulator,效果很好。

代码在这里https://github.com/williamhqs/testSubtitleCellLayout

enter image description here