Hauteur UILabel dynamique dans UIScrollView avec Autolayout

Je suis en utilisant la mise en page automatique avec UIScrollView à montrer certains attributs d'un objet. J'ai télécharger cette information dinamically de service web. La scrollview a une largeur constante (parce que je ne veux pas avoir un défilement vertical comportement) et de ses sous-vues-respect de cette largeur avec un groupe de contraintes, mais je ne peux pas augmenter la UILabelhauteur de façon dynamique.

Je code tout et j'utilise viewDidLoad sélecteur de créer des sous-vues...

- (void)viewDidLoad {
    [super viewDidLoad];
    .
    .
    .

    UILabel *descriptionLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    descriptionLabel.translatesAutoresizingMaskIntoConstraints = NO;
    descriptionLabel.numberOfLines = 0;
    descriptionLabel.lineBreakMode = NSLineBreakByWordWrapping;
    descriptionLabel.opaque = YES;
    descriptionLabel.backgroundColor = [UIColor clearColor];
    descriptionLabel.textColor = [UIColor whiteColor];
    descriptionLabel.textAlignment = NSTextAlignmentRight;
    descriptionLabel.font = [UIFont appetitoMediumItalicFontWithSize:15.0f];
    descriptionLabel.text = NSLocalizedStringFromTable(@"APT_DISH_DETAIL_DESCRIPTION", @"DishDetail", @"Etiqueta que contiene la descripción del platillo");
    [descriptionLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];
    [self.detailContentScrollView addSubview:descriptionLabel];
    self.descriptionLabelS = descriptionLabel;

    .
    .
    .
}

Vous pouvez regarder le self.detailContentScrollView variable, c'est un IBOulet créé à partir de la vue du contrôleur de la plume.

Puis-je utiliser le updateConstraints sélecteur...

- (void)updateConstraints {
[super updateConstraints];
//This dictionary has more variables, ok
NSDictionary *viewsDict = @{@"dish_description_label": self.descriptionLabelS};
.
.
.

[self.descriptionLabelS setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];
[self.detailContentScrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[view1][dish_description_label]-[view2][view3][view4]-|" options:0 metrics:nil views:viewsDict]];

.
.
.
}

et enfin, lorsque je reçois le service web de l'info, j'envoie sizeToFit's UILabel sélecteur et layoutIfNeeded de la scrollview. Mais mon UILabel jamais redimensionne avec le nouveau contenu. Ce que je fais mal?

source d'informationauteur specktro | 2013-10-04