当我增加kern vaue时,UITableViewHeaderFooterView中的textLabel不够宽

时间:2017-10-18 12:55:01

标签: ios uitableview frame nsattributedstring

我有一个包含大量部分的表格视图。我想更改部分的文本,使其更小,并给它更多的字符间距。

我已经覆盖了以下方法,我更改了.textLabel对象的UITableViewHeaderFooterView属性:

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    if let header = view as? UITableViewHeaderFooterView {
        header.textLabel?.attributedText = header.textLabel?.text.flatMap {
            return NSAttributedString(string: $0, attributes: [
                .kern: 1.15
            ])
        }
        header.textLabel?.font = header.textLabel?.font.withSize(10)
    }
}

这样可行,但标签的宽度不足以增加字符之间的间距。我尝试在.sizeToFitheader上调用textLabel,但它不起作用。我也试过手动更改框架但是没有用(由于某种原因,框架没有用我的值更新。)如何使textLabel更宽,以便添加文本字符间距可以适应吗?

Illustration of the issue

0 个答案:

没有答案