Die Größe von UILabel-Text wird mithilfe des automatischen Layouts nicht automatisch geändert
Ich versuche ein Constrained zu implementierenUITableViewCell
Unterklasse und alles funktioniert einwandfrei, bis auf dieUILabel
. Die Einschränkungen, die ich eingerichtet habe, werden definitiv durchgesetzt, aber der Text innerhalb der Beschriftung wird nicht auf eine kleinere Schriftgröße angepasst, wenn die Einschränkungen in Konflikt geraten. Stattdessen wird die Höhe des UILabel abgeschnitten und die Schrift bleibt gleich groß, dh die Buchstaben werden oben und unten abgeschnitten.
Gibt es eine Methode, die ich aufrufen muss, um dies zum Laufen zu bringen? Ich würde mir vorstellen, dass Auto-Layout klug genug ist, um die Schriftgröße automatisch zu ändern. Ich weiß also nicht, warum dies geschieht.
Relevanter 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 sollen diese Einschränkungen eine Zelle erzwingen, in derotherView
ist links,aTextField
ist rechts vonotherView
auf der gleichen y-Ebene, und das Etikett ist untenaTextField
und rechts unten vonotherView
.
Vielen Dank für jede Hilfe.