ich diesen Code haben Einschränkungen zu aktualisieren für eine UITextFiled
iOS: Update Einschränkungen programmatisch
- (void)updateUIOnePassword {
NSLayoutConstraint *fullTextField = [NSLayoutConstraint constraintWithItem:self.passwordTextField attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:self.userIdTextField attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:0.0f];
NSLayoutConstraint *cutTextField = [NSLayoutConstraint constraintWithItem:self.passwordTextField attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:self.userIdTextField attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:-60.0f];
if ([self isOnepasswordAvailable]) {
self.onepasswordButton.alpha = 1.0f;
[self.view removeConstraint:fullTextField];
[self.view addConstraint:cutTextField];
} else {
self.onepasswordButton.alpha = 0.0f;
[self.view addConstraint:fullTextField];
[self.view updateConstraints];
}
[self.view setNeedsUpdateConstraints];
[self.view layoutIfNeeded];
}
wenn isOnepasswordAvailable
beim Start TRUE ist, es funktioniert gut, nach, wenn ich OP App löschen und isOnepasswordAvailable
FALSCH Werke ist wieder gut, aber wenn ich wieder in isOnepasswordAvailable
eintrete, wenn ID TRUE, funktionieren die Beschränkungen nicht mehr gut und ich habe eine Warnung in der Konsole. Wissen Sie warum?
Dank
Das ist gut, ändern müssen, wenn ich die gleichen Einschränkungen aktualisieren möchten, aber wenn ich will die Einschränkungen ändern ? also entferne es und füge noch ein anderes hinzu? – CrazyDev
Ich verstehe Buddy :) aber in Ihrer Frage die zwei Einschränkung, die Sie entfernt und Hinzufügen hatte Unterschiede nur auf ihren konstanten Wert :) so speziell für diesen Fall schlug ich Update-Constraint anstatt hinzufügen und entfernen sie :) –
danke @Sandeep – CrazyDev