2016-08-19 3 views
0

Ich habe ein Label aus dem Storyboard erstellt und jetzt versuche ich, das Label zu füllen. Ich habe eine Klasse erstellt und beide Methoden ausprobiert, aber nichts funktioniert. Bitte helfen Sie.Padding in UILabel iOS Swift

override func drawTextInRect(rect: CGRect) { 
     super.drawTextInRect(UIEdgeInsetsInsetRect(rect, UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0))) 

    } 


let padding = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 10) 


override func intrinsicContentSize() -> CGSize { 
    let superContentSize = super.intrinsicContentSize() 
    let width = superContentSize.width + padding.left + padding.right 
    let heigth = superContentSize.height + padding.top + padding.bottom 
    return CGSize(width: width, height: heigth) 
} 

Antwort

4

die Sie interessieren, habe ich verwendet, und es funktionierte aus SO selbst

@IBDesignable class PaddingLabel: UILabel { 

    @IBInspectable var topInset: CGFloat = 5.0 
    @IBInspectable var bottomInset: CGFloat = 5.0 
    @IBInspectable var leftInset: CGFloat = 7.0 
    @IBInspectable var rightInset: CGFloat = 7.0 

    override func drawTextInRect(rect: CGRect) { 
     let insets = 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 
    } 
} 

Referenz: Adding space/padding to a UILabel

+0

ich ein Etikett in einem tableViewCell haben, wie kann ich diese beantragen? Heel. Vielen Dank . –

+0

Implementieren Sie das gleiche in CellForRoat-Methode von uitableview..to der Zellbezeichnung –