Search code examples
iosswiftuikituilabel

How to center UILabel in Swift?


I'm trying to center some text but I it doesn't seem to be working.

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.


        let title = UILabel()
        title.text = "Some Sentence"
        title.numberOfLines = 0
        title.frame = CGRectMake(self.view.bounds.size.width/2,50,self.view.bounds.size.width, self.view.bounds.size.height) // x , y, width , height
        title.textAlignment = .Center
        title.sizeToFit()
        title.backgroundColor = UIColor.redColor()
        self.view.addSubview(title)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

That is the code that I'm using but this is what I get:

enter image description here

It's not center to the screen. Can someone tell me what am I doing wrong?


Solution

  • To center a UILabel just add this row

    x and y:

    title.center = self.view.center
    

    x:

    title.center.x = self.view.center.x
    

    y:

    title.center.y = self.view.center.y