auto-layout ändern Multiplikator von constraint-programmgesteuert
Wie kann ich ändern, den Multiplikator einer Einschränkung programmgesteuert? Ich habe Folgendes einstellen:
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_button attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeWidth multiplier:0.5 constant:0.0]];
und ich brauche, um es zu ändern:
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_button attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeWidth multiplier:1.0 constant:0.0]];
Ich glaube nicht, dass es einen Weg gibt, um den Multiplikator, sondern können Sie einfach entfernen Sie die Einschränkung und legen Sie die neuen ein.
Hier beantwortet stackoverflow.com/questions/19593641/...
Ich landete mit der Konstante statt der Multiplikator.
Hier beantwortet stackoverflow.com/questions/19593641/...
Ich landete mit der Konstante statt der Multiplikator.
InformationsquelleAutor Jason Bestor | 2015-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie andere sagten, du musst den alten entfernen und einen neuen hinzufügen. Wenn Sie nicht möchten, speichern Sie es als eine Eigenschaft, die gerade set identifier, und Sie Suche, um es später
Dann
Dann können Sie diese
self.constraint = [NSLayoutConstraint constraintWithItem:_button attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:(self.view.frame.size.width / 2)]; [self.view addConstraint:_newsWidthConstraint];
und dann später habe ich bearbeitet, um es in voller Breite...self.constraint.constant = self.view.frame.size.width;
InformationsquelleAutor Leo
Werden Sie nicht in der Lage, den Multiplikator, weil es readonly ist. Hätten Sie zum speichern eines Verweises auf die Einschränkung. Dann, wenn Sie wollen, um den Multiplikator, den Sie entfernen würde, die Einschränkung und eine neue hinzufügen.
Sie eine Methode wie Sie diese in Ihrem view-Controller-Implementierung:
Fragen:
Kann ich den Multiplikator-Eigenschaft für NSLayoutConstraint?
Wie gebe ich in der Einschränkung? Damit wäre diese Antwort klarer für die Umsetzung
InformationsquelleAutor kezi
Zum ändern von Multiplikator ich das Umschalten zwischen Einschränkungen-Methode.
Sie Schaffen müssen, die Einschränkungen mit verschiedenen Prioritäten, sonst wird es brechen das layout.
Objective C
Swift 2.0
InformationsquelleAutor Faris Muhammed
Es ist ein einfacher Weg, um ändern Sie den Multiplikator einer Einschränkung programmgesteuert mithilfe Layout Anker:
Hier ist, wie es funktioniert:
InformationsquelleAutor Eugene Brusov