Ich habe ein UI-Element (UISwitch
tatsächlich, aber spielt keine Rolle), die sowohl führende und nachstehende Leerzeichen in Superview in Interface Builder fixiert hat. Die Einschränkung sieht wie folgt in Xcode 6:iOS8 Auto-Layout programmatisch Pin auf relativen Layout-Rand
Die Einschränkung für Raum führt effektiv die gleiche ist. Der Wert der Bedingung ist 42,0 Punkte.
Das ist genau das, was ich will, weil für verschiedene Geräte I layoutMargins
Eigenschaft auf UIView
und die Einschränkungen funktionieren richtig, um Spielraum zwischen den Ansichten zu erhöhen ändern können.
Jetzt möchte ich eine andere Ansicht in Code hinzufügen, die auch beide führende und nachstehende Leerzeichen an seine Superview-Marge gepinnt hätte, so dass die gleichen layoutMargins
auf Superview eingestellt arbeiten.
gemerkt ich die Ansicht visuelle Format Sprache mit folgenden Syntax:
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|-42.0-[separatorView]-42.0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(self.contentView, separatorView)];
[self.contentView addConstraints:constraints];
[self.contentView setNeedsUpdateConstraints];
Dies funktioniert, aber layoutMargins
Eigenschaft hat keine Auswirkungen diese Einschränkung verwendet wird, so ist es offensichtlich nicht auf Marge gemerkt, sondern direkt Superview.
Also meine Frage ist:
Wie in Code mit visuellem Format Sprache UI-Element-Räume zu Rande an Pin? Oder wenn nicht möglich, wie man mit constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:
API anheften?
Vielen Dank!