UILabel and UIButton sizeToFit height are different in Swift

130 views Asked by At

I am trying to align my UIButton and UILabel, however when I use size to fit for each of them the frame is of a different height. I want my UIButton frame height to be the same height as my UILabel. Both views added as subview on my main view, in my viewdidload. This is what I get misaligned sizeToFit

//create account button
let createAccount: UIButton = {
    let create = UIButton()
    create.translatesAutoresizingMaskIntoConstraints = false
    create.setTitleColor(.orange, for: .normal)
    create.setTitle("Create", for: .normal)
    create.titleLabel?.font = UIFont.systemFont(ofSize: 18)
    create.addTarget(self, action: #selector(forgot(_ :)), for: .touchUpInside)
    create.sizeToFit()
    create.backgroundColor = .red
    return create
}()

let phraseOne: UILabel = {
    let labelOne = UILabel()
    labelOne.translatesAutoresizingMaskIntoConstraints = false
    labelOne.text = "Dont have an account?"
    labelOne.font = UIFont(name: labelOne.font.fontName, size: 18)
    labelOne.textAlignment = .right
    labelOne.sizeToFit()
    labelOne.textColor = .white
    labelOne.backgroundColor = .red
    return labelOne
}()

override func viewDidLoad() { 
    super.viewDidLoad() 

    //Add subview phraseOne Forgot your password? 
    view.addSubview(phraseOne) 
    setupPhraseOne() //add constraints

    view.addSubview(createAccount)    
    setupCreate() // add constraints
  } 
0

There are 0 answers