UITableView - 在 sectionHeader 中调整 FontSizeToFitWidth

UITableView - adjustsFontSizeToFitWidth in sectionHeader

我为我的 UITableview 创建了自定义 sectionHeader

有时我必须用大文本填充它,所以我添加了 adjustsFontSizeToFitWidth = true 这通常有效。

在这种情况下,字体变大时不会调整大小。有谁知道我做错了什么吗?

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let headerView = UIView()
    headerView.backgroundColor = UIColor.lightGray

    let headerLabel = UILabel(frame: CGRect(x: 30, y: 0, width:
        tableView.bounds.size.width, height: tableView.bounds.size.height))
    headerLabel.textColor = UIColor.white
    headerLabel.text = self.tableView(self.tableView, titleForHeaderInSection: section)
    headerLabel.sizeToFit()
    headerLabel.adjustsFontSizeToFitWidth = true
    headerLabel.clipsToBounds=true
    headerLabel.numberOfLines=0
    headerLabel.lineBreakMode = NSLineBreakMode.byTruncatingTail
    headerLabel.minimumScaleFactor = 0.4
    headerView.addSubview(headerLabel)

    return headerView
}

解决办法是删除这一行:

headerLabel.sizeToFit()

您需要移除

headerLabel.sizeToFit() 使 adjustsFontSizeToFitWidth 属性 工作。