调用sizeToFit后调整UILabel大小和文本位置

时间:2015-03-09 16:34:26

标签: ios objective-c uilabel

目前的结果:

Current result

我可以通过调用sizeToFit来调整标签的大小,NSTextAlignmentCenter在构建文本方面做得不错 - 但是,即使使用drawTextInRect:,文本也不会完全水平居中或垂直的。要调整标签内的文字位置,我已覆盖UIEdgeInserts以使用{{1}}调整文字矩形。

预期结果:

enter image description here

现在文本居中,我想扩展标签,在文本和标签边缘之间添加一些空格。非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

我会通过创建UILabel的子类并覆盖intrinsicContentSize而不是drawTextInRect:来实现此目的。

override func intrinsicContentSize() -> CGSize {
        self.sizeToFit()
        frame = frame.rectByInsetting(dx: -12, dy: -6)
        var size = frame.size
        return size
    }

当然,文本对齐也需要设置为居中。