Ich versuche, ein UIlabel zu einer UIView-Klasse hinzuzufügen. sollte es im folgenden Format sein -15-Label (Stretch bis zur maximalen Breite) -15.AwakeFromNib Auto-Layout-Stretch UIlabel auf Abstand auf beiden Seiten programmgesteuert
Top Abstand = 15 und Höhe fixiert auf 30
Zwei Probleme mit dem folgenden Code: - 1) Label bis max nicht strecken Breite 2) Rechte Seite Abstand wird nicht angezeigt, wenn der Text es ist zu lang.
-(void)awakeFromNib{
[super awakeFromNib];
view1 =[[UILabel alloc] init];
view1.translatesAutoresizingMaskIntoConstraints=NO;
[self addSubview:view1];
view1.text= @"Hello";
NSDictionary *constraintViews=
@{@"view1":view1};
NSDictionary *[email protected]{@"spacing":@(15)};
NSArray *hConstraints=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-spacing-[view1]-spacing-|" options:NSLayoutFormatAlignAllCenterX metrics:metrics views:allViews];
NSArray *vConstraints=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-spacing-[view1(30)]" options:0 metrics:metrics views:constraintViews];
[self addConstraints:hConstraints];
[self addConstraints:vConstraints];
}
Horizontale Beschränkung funktioniert immer noch nicht, es zeigt Abstand von 15 auf der Vorderseite, aber auf der Rückseite nicht. – andyPaul
Versuchen Sie, die Priorität dieser Einschränkung auf 1000 (erforderlich) zu erhöhen. [NSLayoutConstraint constrictsWithVisualFormat: @ "H: | -spacing- [view1] -spacing @ 751- |" Optionen: NSLayoutFormatAlignAllCenterX Metriken: Metriken views: constraintViews]; – user4955208
Es hat immer noch nicht funktioniert. Ich weiß nicht, warum die linke Seite richtigen Abstand zeigt, rechte Seite gibt es keinen Abstand – andyPaul