Comment modifier la contrainte dans le code
J'ai une page web qui commencent avec une largeur de contraindre de 100.
Lorsque l'utilisateur clique sur un bouton, je veux changer le contraindre à : 200.
J'ai essayé ceci:
NSLayoutConstraint *constrain = [NSLayoutConstraint
constraintWithItem:self.webPage
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.webPage
attribute:NSLayoutAttributeWidth
multiplier:1
constant:100];
[self.webPage addConstraint:constrain];
Mais cette rejette cette exception :
"Impossible de satisfaire simultanément des contraintes."
Des idées?
source d'informationauteur oopsi
Vous devez vous connecter pour publier un commentaire.
Vous avez deux options.
constant
partie à 200Je pencherais pour la première option. Pour obtenir une référence d'ajouter un
@property
pour la contrainte à votre viewController et l'assigner lorsque vous le créez.Si vous êtes à la création de la contrainte dans un xib ou storyboard connecter la contrainte avec un IBOutlet connexion à votre code, similaire à ce que vous faites lorsque vous vous connectez à un UILabel.
Vous pouvez facilement ajuster la partie constante de la contrainte.
Également vous contrainte devrait probablement être de plus le long de ces lignes:
si vous souhaitez définir la largeur de ne pas avoir un toItem: jeu.
Lorsque vous voulez le changer plus tard: