繁体   English   中英

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

[英]Adjusting UILabel size and text position after calling sizeToFit

当前结果:

当前结果

我可以通过调用sizeToFit来调整标签的大小,这在构图文本方面做得很好-但是,即使使用NSTextAlignmentCenter ,文本也不能精确地居中放置在水平或垂直居中位置。 为了调整文本在标签内的位置,我重写了drawTextInRect:来使用UIEdgeInserts调整文本rect。

预期结果:

在此处输入图片说明

既然文本居中,我想扩展标签以在文本和标签边缘之间添加一些空间。 任何帮助将不胜感激,谢谢!

我将通过创建UILabel的子类并重写intrinsicContentSize而不是drawTextInRect:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM