Ich versuche eine eingeschränkte UITableViewCell
Unterklasse zu implementieren und alles funktioniert perfekt, mit Ausnahme der UILabel
. Die Constraints, die ich eingerichtet habe, werden definitiv erzwungen, aber der Text innerhalb des Labels wird nicht auf eine kleinere Schriftgröße skaliert, wenn die Constraints kollidieren. Stattdessen wird die Höhe des UILabel abgeschnitten und die Schrift bleibt gleich groß, dh die Buchstaben werden oben und unten abgeschnitten.UILabellentext wird nicht automatisch mit Auto Layout geändert
Gibt es eine Methode, die ich aufrufen muss, um dies zu erreichen? Ich würde denken, Auto-Layout wäre schlau genug, um die Schriftgröße automatisch zu ändern, also bin ich irgendwie verloren, warum das passiert.
Relevant Code:
self.label = [[UILabel alloc] initWithFrame:CGRectZero];
self.label.textColor = [UIColor whiteColor];
self.label.translatesAutoresizingMaskIntoConstraints = NO;
self.label.textAlignment = NSTextAlignmentCenter;
self.label.numberOfLines = 1;
[self.contentView addSubview:self.label];
NSLayoutConstraint *otherViewToLabelHorizontalConstraint = // Make sure that the label is always to the right of the other view.
[NSLayoutConstraint constraintWithItem:self.label
attribute:NSLayoutAttributeLeft
relatedBy:NSLayoutRelationGreaterThanOrEqual
toItem:self.otherView
attribute:NSLayoutAttributeRight
multiplier:1.0
constant:0.0];
NSLayoutConstraint *aTextFieldToLabelVerticalConstraint =
[NSLayoutConstraint constraintWithItem:self.label
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationGreaterThanOrEqual
toItem:self.aTextField
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:0.0];
Grundsätzlich werden diese Einschränkungen bedeutete eine Zelle zu erzwingen, wo otherView
auf der linken Seite ist, ist aTextField
auf der rechten Seite von otherView
bei der gleichen y-Ebene, und das Label ist unter aTextField
und rechts unten otherView
.
Wie immer, danke für jede Hilfe mit diesem.
Erhalten Sie eine Ausnahme oder eine andere Protokollmeldung in Ihrer Konsole, wenn Sie diese Einschränkungen hinzufügen? – larsacus
Nein, ich habe die Teile, die diese Einschränkung verwendeten, los. –