Размер текста UILabel не изменяется автоматически при использовании Auto Layout
Я пытаюсь реализовать ограниченныйUITableViewCell
подкласс и все работает отлично, кромеUILabel
, Установленные мною ограничения, безусловно, применяются, но текст внутри метки не изменяется до меньшего размера шрифта при столкновении ограничений. Вместо этого высота UILabel усекается, а шрифт остается того же размера, то есть буквы обрезаются сверху и снизу.
Есть ли какой-то метод, который мне нужно вызвать, чтобы заставить это работать? Я думаю, что Auto Layout будет достаточно умен, чтобы автоматически изменять размер шрифта, поэтому я немного растерялся, почему это происходит.
Соответствующий код:
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];
По сути, эти ограничения предназначены для обеспечения ячейки, гдеotherView
слева,aTextField
находится справа отotherView
на том же уровне у, а метка нижеaTextField
и справа от нижней частиotherView
.
Как обычно, спасибо за любую помощь с этим.