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 属性 工作。
我为我的 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 属性 工作。