Dans iOS 6, je me sers:Dynamiquement redimensionner l'étiquette dans iOS 7
CGSize labelSize = [self.text sizeWithFont:self.font constrainedToSize:size lineBreakMode:self.lineBreakMode];
self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y , labelSize.width, self.frame.size.height);
Pour redimensionner dynamiquement un UILabel. Cela ne fonctionne pas dans iOS 7 donc j'ai essayé:
NSString *text = self.text;
CGFloat width = size.width;
UIFont *font = self.font;
NSAttributedString *attributedText = [[NSAttributedString alloc] initWithString:text
attributes:@{ NSFontAttributeName: font }];
CGRect rect = [attributedText boundingRectWithSize:(CGSize){width, CGFLOAT_MAX}
options:NSStringDrawingUsesDeviceMetrics
context:nil];
CGSize size = rect.size;
self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y , size.width, self.frame.size.height);
C'est dans une catégorie à UILabel, mais cela ne fonctionne pas aussi ... Toutes les idées que je devrais utiliser?
Quelle partie ne fonctionne pas? La taille d'image calculée est-elle incorrecte ou le changement de taille d'étiquette ne se produit-il pas? – tarmes