UILabel居中显示的方法

时间:2023-03-09 08:53:03
UILabel居中显示的方法

在IB中拖出一个UIView

  @IBOutlet weak var myView: UIView!

下面创建的UILabel是在myView中居中显示

方法1:

        var label = UILabel()
label.text = "你好,朋友!"
label.backgroundColor = UIColor.blueColor()
label.sizeToFit()
label.center = CGPointMake(CGRectGetMidX(myView.bounds), CGRectGetMidY(myView.bounds))
myView.addSubview(label)

方法2:

         var label = UILabel()
label.text = "你好,朋友!"
label.backgroundColor = UIColor.blueColor()
label.sizeToFit()
label.center = myView.convertPoint(myView.center, fromView: myView.superview)
myView.addSubview(label)

注意:以上方法中第四行代码label.sizeToFit()务必写到第五行代码之前执行,否则将不会居中显示

方法3:

通过VFL布局约束的方式

     func setAlignCenter(subView: UIView,superView:UIView) {
subView.setTranslatesAutoresizingMaskIntoConstraints(false)
var dic = ["superView":superView, "subView":subView]
superView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(
"V:[superView]-(<=0)-[subView]",
options: NSLayoutFormatOptions.AlignAllCenterX,
metrics: nil,
views: dic))
superView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(
"H:[superView]-(<=0)-[subView]",
options: NSLayoutFormatOptions.AlignAllCenterY,
metrics: nil,
views: dic))
}