GarrisRyder
GarrisRyder

Reputation: 35

How to execute activate programmatic constraints

I have written a function that defines and adds a UILabel to the UIView - however the constraints are not being executed as the label remains in the top left corner of the screen.

Heres the code:

func timeAdded(screenHeight: CGFloat, screenWidth: CGFloat, viewController: UIView) {


    let readyLabel = UILabel()
    readyLabel.backgroundColor = UIColor.white
    readyLabel.textAlignment = .center
    readyLabel.text = "00:00"
    readyLabel.textColor = UIColor.blue
    //readyLabel.alpha = 0
    readyLabel.font = UIFont(name: "panl-font-4", size: 60)
    readyLabel.sizeToFit()

    viewController.addSubview(readyLabel)

    readyLabel.centerXAnchor.constraint(equalTo: viewController.centerXAnchor, constant: 0).isActive = true
    readyLabel.centerYAnchor.constraint(equalTo: viewController.centerYAnchor, constant: 0).isActive = true

}

Any advice appreciated

Upvotes: 0

Views: 30

Answers (1)

Shehata Gamal
Shehata Gamal

Reputation: 100533

You may need

readyLabel.translatesAutoresizingMaskIntoConstraints = false 
NSLayoutConstraint.activate([
    readyLabel.centerXAnchor.constraint(equalTo: viewController.centerXAnchor)
    readyLabel.centerYAnchor.constraint(equalTo: viewController.centerYAnchor)
])

So it's better to read This

Upvotes: 1

Related Questions