簡體   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