UITableView estimatedRowheight动态类型

时间:2016-12-28 20:04:05

标签: ios uitableview row-height

我正在使用自行调整表格视图单元来支持动态类型。

当用户将字体大小设置为正常时,行高为44.但是,当用户将字体调整为更小或更大时,行高度将分别减小或增大。

那么,我应该将estimatedRowHeight设置为什么,因为rowHeight会因用户的动态类型设置而发生变化?

2 个答案:

答案 0 :(得分:0)

选择默认的“动态类型”时,.body pointSize为17.0,所以我使用此计算方式

self.tableView.estimatedRowHeight = [yourEstimateForDefaultSize] / 17.0 * UIFont.preferredFont(forTextStyle: .body).pointSize

对于默认的动态类型大小,此估计是准确的。对于其他尺寸,它会失去准确性,但会有所改善

答案 1 :(得分:0)

我可能会尝试使用委托方法动态估算高度:

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat{
    return topOffset + bottomOffset + fontSize * countOfLines
}