无法为UILabel中的文本添加边距/填充 – iOS Swift

基于这个答案 ,我创build了一个从UILabel分类的TextMarginLabelUILabel中的文本添加边距/填充。 但它没有增加任何保证金,请有人可以指导我哪里错了。

这是我的Subclassed标签

 class TextMarginLabel: UILabel { //override func drawText(in rect: CGRect) { override public func drawText(in rect: CGRect) { let insets = UIEdgeInsets.init(top: 10, left: 5, bottom: 10, right: 5) super.drawText(in: UIEdgeInsetsInsetRect(rect, insets)) } } 

在这里,我正在创build标签,将其添加到视图并设置约束

 override func viewDidLoad() { super.viewDidLoad() let testingLabel : TextMarginLabel = { let label = TextMarginLabel() label.text = "This is a test label" label.backgroundColor = UIColor.white return label }() .... } 

将标签添加到视图

 self.view.addSubview(testingLabel) testingLabel.translatesAutoresizingMaskIntoConstraints = false 

视图字典

 let viewsDict = ["testingLabel" : testingLabel] 

以下是为testingLabel设置的约束

 self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-10-[testingLabel]", options: [], metrics: nil, views: viewsDict)) self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[testingLabel]|", options: [], metrics: nil, views: viewsDict))