Je veux ajouter UIButton comme ceci:
switchTheme.bottomAnchor.constraint(equalTo: view.bottomAnchor) switchTheme.leftAnchor.constraint(equalTo: view.leftAnchor) switchTheme.rightAnchor.constraint(equalTo: view.rightAnchor) switchTheme.heightAnchor.constraint(equalToConstant: 40.0)
Et puis définir des contraintes comme:
let switchTheme: UIButton = { let button = UIButton.init() button.backgroundColor = .red button.setTitleColor(.blue, for: .normal) button.setTitle(Settings.isLightTheme() ? Strings.Various.switchToDark.value : Strings.Various.switchToLight.value, for: .normal) button.translatesAutoresizingMaskIntoConstraints = false return button }()
Mais il n'est pas affiché en bas comme il suppose, mais en plus et sans contraintes appliquées.
3 Réponses :
Vous devez activer ces contraintes simplement comme ceci:
switchTheme.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true switchTheme.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true switchTheme.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true switchTheme.heightAnchor.constraint(equalToConstant: 40.0).isActive = true
Vos contraintes doivent être activées:
switchTheme.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
Vous devrez définir des contraintes activate state = true
. Vous pouvez le faire simplement,
func setConstraints() { NSLayoutConstraint.activate([ switchTheme.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor), // bottomAnchor to set bottom target. switchTheme.leftAnchor.constraint(equalTo: self.view.leftAnchor), // leftAnchor to set X left switchTheme.rightAnchor.constraint(equalTo: self.view.rightAnchor), // rightAnchor to set X right switchTheme.heightAnchor.constraint(equalToConstant: 40.0) //heightAnchor to set appropriate height. ]) }
En cas de problème, vous pouvez vérifier cette fonction suivante:
NSLayoutConstraint.activate([ //Move your existing code HERE with comma separated ])
Vérifiez ceci: stackoverflow. com / questions / 26180822 /…