Вот как вы можете выровнять label
в center
из view
,
let backbutton = UILabel()
view.addSubview(backbutton)
backbutton.backgroundColor = UIColor.orange
backbutton.translatesAutoresizingMaskIntoConstraints = false
backbutton.widthAnchor.constraint(equalToConstant: 300).isActive = true
backbutton.heightAnchor.constraint(equalToConstant: 300).isActive = true
backbutton.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 0).isActive = true
backbutton.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: 0).isActive = true
Когда вы устанавливаете constraints
программно, убедитесь, что вы добавили view
в super/parent
view
перед применением constraints
. Во-вторых, в приведенных ниже строках вы говорите метке backButton
, чтобы выровняли ее центр относительно себя (то есть backbutton.centerXAnchor.constraint (equalTo: backbutton.centerXAnchor ).
)
backbutton.centerXAnchor.constraint(equalTo: backbutton.centerXAnchor, constant: 100).isActive = true
backbutton.centerYAnchor.constraint(equalTo: backbutton.centerYAnchor, constant: 300).isActive = true
Поскольку вы хотите выровнять его по центру vertically
и horizontally
относительно его parent view
, вам следует установить center
constraints
равным parent view
, как показано ниже,
backbutton.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 0).isActive = true
backbutton.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: 0).isActive = true