Nelson Matias
Nelson Matias

Reputation: 473

Swift Print Anchor Constant Value

How do you print out the value of an anchor's constant? For example:

let myButton = UIButton()
myButton.topAnchor.constraint(equalTo: view.topAnchor, constant: 5).isActive = true
myButton.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
myButton.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
myButton.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
print(myButton.topAnchor.constant)//this would print 5

Upvotes: 2

Views: 4292

Answers (1)

Rakesha Shastri
Rakesha Shastri

Reputation: 11242

The constant is for the constraint that you have laid out for the anchor. Anchors don't have constants. Constraints do. So what you need to do is maintain a reference of the constraint and access the constant.

let myButtonTopAnchorConstraint = myButton.topAnchor.constraint(equalTo: view.topAnchor, constant: 5)
myButtonTopAnchorConstraint.isActive = true
myButton.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
myButton.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
myButton.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true

print(myButtonTopAnchorConstraint.constant) //Prints 5

A view will have only one topAnchor, but can have multiple constraints relative to that anchor.

Upvotes: 7

Related Questions