Le texte UILabel n'est pas automatiquement redimensionné à l'aide de la mise en page automatique

Je suis en train de mettre en œuvre une contrainte UITableViewCell sous-classe, et tout fonctionne parfaitement, sauf pour les UILabel. Les contraintes que j'ai mis en place sont certainement en cours d'exécution, mais le texte à l'intérieur de l'étiquette n'est pas redimensionnée à la taille de la police lorsque les contraintes de choc. Au lieu de cela, la hauteur de la UILabel obtient tronqué et la police reste la même taille, la signification des lettres coupé en haut et en bas.

Est-il une méthode que j'ai appeler pour obtenir que cela fonctionne? Je pense à Disposition Automatique serait assez intelligent pour redimensionner automatiquement la taille de la police, donc je suis un peu perdu pour expliquer ce qui se passe.

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];

Fondamentalement, ces contraintes visent à faire respecter une cellule où otherView est sur la gauche, aTextField est sur la droite de otherView à la même y-niveau, et l'étiquette est en dessous de aTextField et à droite de la partie inférieure de otherView.

Comme d'habitude, merci pour toute aide à ce sujet.

source d'informationauteur J Kagney