问:我可以在故事板中设置“UILabel”的文字边距吗?

时间:2016-11-02 01:56:56

标签: ios storyboard uilabel

在故事板中,我将UILabel拖到ViewController' interface,并在属性中设置了对齐left,但我想要{{1文本边距留下了一些像素,但没有到达左边缘,我该怎么设置它?我知道一种方法UILabel的文字在文本前面包含一些UILabel,而不是官方,是否有一些更好的方法来保留space的文本?

我的label如下:

I want the label's text margin left some pix

1 个答案:

答案 0 :(得分:0)

这对我来说很有用,使用swift 2.2:

  1. 使用leftmargin常量中的所需值创建自定义标签类:

    class CustomLabel: UILabel {
    
    let leftmargin = CGFloat(25.0)
    
    let topInset = CGFloat(0.0), bottomInset = CGFloat(0.0), leftInset = leftmargin, rightInset = CGFloat(0.0)
    
    override func drawTextInRect(rect: CGRect) {
    
        let insets: UIEdgeInsets = UIEdgeInsets(top: topInset, left: leftInset, bottom: bottomInset, right: rightInset)
        super.drawTextInRect(UIEdgeInsetsInsetRect(rect, insets))
    
    }
    override func intrinsicContentSize() -> CGSize {
        var intrinsicSuperViewContentSize = super.intrinsicContentSize()
        intrinsicSuperViewContentSize.height += topInset + bottomInset
        intrinsicSuperViewContentSize.width += leftInset + rightInset
        return intrinsicSuperViewContentSize
    }
    }
    
  2. 在历史记录板上选择UILabel,在身份检查器中将class属性设置为CustomLabel。

  3. Identity inspector