Próbuję zaimplementować ograniczoną podklasę UITableViewCell
i wszystko działa idealnie, z wyjątkiem UILabel
. Ograniczenia, które ustawiłem, są zdecydowanie wymuszane, ale tekst wewnątrz etykiety nie zmienia rozmiaru na mniejszy rozmiar czcionki, gdy zderzają się więzy. Zamiast tego wysokość UILabel zostaje obcięta, a czcionka pozostaje tej samej wielkości, co oznacza, że litery zostają obcięte u góry iu dołu.Tekst UILabel nie jest automatycznie zmieniany automatycznie przy użyciu automatycznego układu
Czy jest jakaś metoda, którą muszę zadzwonić, aby to zadziałało? Myślę, że Auto Layout byłby wystarczająco inteligentny, aby automatycznie zmienić rozmiar czcionki, więc jestem trochę zagubiony, dlaczego tak się dzieje.
odpowiedni kod:
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];
Zasadniczo te ograniczenia mają na celu wymuszenia komórkę gdzie otherView
jest po lewej stronie, aTextField
znajduje się na prawo od otherView
w tym samym y poziomu i etykiety jest poniżej aTextField
i na prawo od dna otherView
.
Jak zwykle, dziękuję za pomoc w tej sprawie.
Czy podczas dodawania tych ograniczeń pojawia się w konsoli wyjątek lub inna wiadomość dziennika? – larsacus
Nie, w końcu pozbyłem się części, które używały tego ograniczenia. –